讀取ods後,將資料轉成datatable,在65535行後第5行的內容跑到第3行
ods65535bug.png (95.6 KB)
測試的ods檔
ods65535test.zip (72.5 KB)
讀取ods後,將資料轉成datatable,在65535行後第5行的內容跑到第3行
ods65535bug.png (95.6 KB)
測試的ods檔
ods65535test.zip (72.5 KB)
使用c#語言
string inputFilePath;
OpenFileDialog dialog = new OpenFileDialog();
dialog.Title = "Select file";
dialog.InitialDirectory = ".\\";
dialog.Filter = "ods files (*.*)|*.ods";
if (dialog.ShowDialog() == DialogResult.OK)
{
inputFilePath = dialog.FileName;
try
{
Workbook workbook = new Workbook(inputFilePath);
int wbsheetscount = workbook.Worksheets.Count;
for (int sheetscount = 0; sheetscount < wbsheetscount; sheetscount++)
{
Worksheet sheet = workbook.Worksheets[sheetscount];
int rowcount = sheet.Cells.MaxDisplayRange.RowCount;
int colcount = sheet.Cells.MaxDisplayRange.ColumnCount;
DataTable dataTable = sheet.Cells.ExportDataTable(0, 0, rowcount, colcount, false);
dataTable.TableName = sheet.Name;
}
}
catch (Exception exp)
{
MessageBox.Show(exp.ToString());
}
}
@aleck1119
通过使用样例文件和以下样例代码在最新版本v24.12上进行测试,我们可以复现问题。发现当导出数据到DataTable时,数据出现错乱。
Workbook workbook = new Workbook(filePath + "ods65535test.ods");
int wbsheetscount = workbook.Worksheets.Count;
for (int sheetscount = 0; sheetscount < wbsheetscount; sheetscount++)
{
Worksheet sheet = workbook.Worksheets[sheetscount];
int rowcount = sheet.Cells.MaxDisplayRange.RowCount;
int colcount = sheet.Cells.MaxDisplayRange.ColumnCount;
DataTable dataTable = sheet.Cells.ExportDataTable(0, 0, rowcount, colcount, false);
dataTable.TableName = sheet.Name;
}
我们已经在内部问题跟踪系统中打开了以下新问题单,并将根据Free Support Policies中提到的条款提供修复。
问题单号:CELLSNET-57540
我们很高兴地通知您,您的问题(票号:“CELLSNET-57540”)已得到解决。增强功能/修复将包含在计划于 2025 年 1 月初发布的下一版本(Aspose.Cells v25.1)中。新版本发布时,我们会通知您。
太感謝了,這麼快就解決了這個問題。