我试图读取大小263 KB的Excel文件,它包括3个列和6998行的数据中,第一列是字母数字IDSite ID
例如:“D7302”,以及其他2列latitude
和longitude
decimal类型,
try
{
dataTable = worksheet.Cells.ExportDataTable(HeaderLineStartingRowNumber, 0, worksheet.Cells.MaxRow - HeaderLineStartingRowNumber + 1, worksheet.Cells.MaxColumn + 1, true);
}
catch (CellsException)
{
dataTable = worksheet.Cells.ExportDataTableAsString(HeaderLineStartingRowNumber, 0, worksheet.Cells.MaxRow - HeaderLineStartingRowNumber + 1, worksheet.Cells.MaxColumn + 1, true);
}
此代码总是将CellsException
数据作为字符串抛出并导出,该字符串截断小数并返回一个字符串,而不是28.125027778
返回28
,当我将文件大小减少到 100 行时,它按预期成功导出,因此它一定是大小问题,所以有大小限制为ExportDataTable
,谢谢
我们已使用以下示例代码测试了您的问题,并且运行良好。我们使用上传到 NuGet 的最新版本(即 18.4)测试了此问题。请下载代码中使用的示例 Excel 文件,并查看显示工作表中的数据已成功导出到数据表的屏幕截图。
该代码与您的完全相似,但更改很少,因此我们没有在您的代码中发现任何错误。因此,如果您使用的是旧版本,则必须使用最新版本。
如果您的问题在最新版本中仍然存在,请向我们提供您的可运行示例代码(最好是示例控制台应用程序项目)以及您的代码中使用的所有文件。我们将在最后执行您的代码,并尝试复制该问题并将其记录在我们的数据库中,以便在未来版本中进行修复。感谢您在这方面的合作,祝您有美好的一天。
代码中使用的示例 Excel 文件 - 下载链接:
示例代码
Workbook wb = new Workbook("sampleExportDataTable.xlsx");
Worksheet worksheet = wb.Worksheets["Data"];
int HeaderLineStartingRowNumber = 25;
var dataTable = worksheet.Cells.ExportDataTable(HeaderLineStartingRowNumber, 0, worksheet.Cells.MaxDataRow - HeaderLineStartingRowNumber + 1, worksheet.Cells.MaxDataColumn + 1, true);
注意:我在 Aspose 担任开发布道师
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句