我必須使用 FdxSpreadSheet 將 xlsx 檔案中的所有不同作業表保存到 csv。我想將當前的作業表索引傳遞給從檔案加載并通過在名稱末尾添加索引來保存它們。它不起作用,它總是用不同的索引名稱保存第一張紙 N 次。如何加載不同的表格并將它們保存在不同的檔案中?
FdxSpreadSheet := TdxSpreadSheet.Create(nil);
try
aFileText := ChangeFileExt(CurrentFile,'.csv');
FdxSpreadSheet.LoadFromFile(CurrentFile);
for I:=0 to FdxSpreadSheet.SheetCount -1 do begin
aFileText := ChangeFileExt(CurrentFile,IntToStr(I) '.csv');
FdxSpreadSheet.LoadFromFile(FdxSpreadSheet.Sheets[I]);
FdxSpreadSheet.SaveToFile(aFileText);
Result := aFileText;
LogModule.ScriviLog('File convterd from XlsX to CSV ',Format(':[%s]',[aFileText]),tpLiv4);
end;
finally
FreeAndNil(FdxSpreadSheet);
end;
uj5u.com熱心網友回復:
LoadFromFile()如果加載 xlsx 檔案,則加載所有作業表。保存到 CSV 會保存當前活動的作業表,以便回圈訪問作業表。
for a := 0 to dxSpreadSheet1.SheetCount -1 do
begin
dxSpreadSheet1.ActiveSheetIndex := a;
dxSpreadSheet1.SaveToFile('Sheet_' intToStr(a 1) '.csv');
end;
注意:使用 Delphi 11 和 DeveloperExpress VCL ExpressSpreadSheet 21.2.2 測驗
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/406495.html
標籤:
上一篇:決議JSON中的字串陣列
