CSV格式是一種通用的文本檔案格式,可在多個應用程式之間共享和使用,相比之下,Excel檔案是一種電子表格格式,通常只能在Microsoft Excel中編輯和查看,因此,將Excel檔案轉換為CSV格式可使資料更方便地在其他應用程式中使用;而將CSV檔案轉換為Excel格式則有利于在Microsoft Excel中編輯和查看,這種互相轉換可以方便地在不同應用程式之間交換或分享資料,在本文中,我們將演示如何使用 Spire.XLS for C++ 將 Excel 轉換為 CSV 或將 CSV 轉換為Excel,
- 將 Excel 轉換為 CSV
- 將 Excel 中的可見資料轉換為 CSV
- 將 CSV 轉換為 Excel
安裝 Spire.XLS for C++
有兩種方法可以將 Spire.XLS for C++ 集成到您的應用程式中,一種方法是通過 NuGet 安裝它,另一種方法是從我們的網站下載包并將庫復制到您的程式中,通過 NuGet 安裝更簡單,更推薦使用,您可以通過訪問以下鏈接找到更多詳細資訊,
如何將 Spire.XLS for C++ 集成到 C++ 程式中
將 Excel 轉換為 CSV
具體步驟如下:
- 初始化 Workbook 類的實體,
- 使用 Workbook->LoadFromFile() 方法加載 Excel 檔案,
- 使用 Workbook->GetWorksheets()->Get(int index) 方法通過索引獲取作業簿中的特定作業表,
- 使用 XlsWorksheet->SaveToFile (LPCWSTR_S fileName, LPCWSTR_S separator, Spire::Common::Encoding* encoding) 方法將作業表保存到 CSV 檔案中,
完整代碼
#include "Spire.Xls.o.h"; using namespace Spire::Xls; int main() { //指定輸出檔案路徑和名稱 std::wstring inputPath = L"輸入\\"; std::wstring inputFile = inputPath + L"示例檔案.xlsx"; std::wstring outputPath = L"輸出\\"; std::wstring outputFile = outputPath + L"結果檔案.csv"; //初始化 Workbook 類的實體 intrusive_ptr<Workbook> workbook = new Workbook(); //加載Excel檔案 workbook->LoadFromFile(inputFile.c_str()); //獲取特定作業表 intrusive_ptr<Worksheet> sheet = dynamic_pointer_cast<Worksheet>(workbook->GetWorksheets()->Get(0)); //將作業表保存為CSV檔案 sheet->SaveToFile(outputFile.c_str(), L",", Encoding::GetUTF8()); workbook->Dispose(); }
效果圖
將 Excel 中的可見資料轉換為 CSV
如果只想將作業表中的可見資料保存為 CSV,具體步驟如下:
- 初始化 Workbook 類的實體,
- 使用 Workbook->LoadFromFile() 方法加載 Excel 檔案,
- 使用 Workbook->GetWorksheets()->Get(int index) 方法通過索引獲取作業簿中的特定作業表,
- 使用 XlsWorksheet->SaveToFile (LPCWSTR_S fileName, LPCWSTR_S separator, bool retainHiddenData) 方法將作業表中的可見資料保存到 CSV 檔案中,
完整代碼
#include "Spire.Xls.o.h"; using namespace Spire::Xls; int main() { //指定輸出檔案路徑和名稱 std::wstring inputPath = L"輸入\\"; std::wstring inputFile = inputPath + L"示例檔案.xlsx"; std::wstring outputPath = L"輸出\\"; std::wstring outputFile = outputPath + L"結果檔案.csv"; //初始化 Workbook 類的實體 intrusive_ptr<Workbook> workbook = new Workbook(); //加載Excel檔案 workbook->LoadFromFile(inputFile.c_str()); //獲取特定作業表 intrusive_ptr<Worksheet> sheet = dynamic_pointer_cast<Worksheet>(workbook->GetWorksheets()->Get(0)); //將作業表中的可見資料保存到CSV檔案中 dynamic_pointer_cast<Worksheet>(workbook->GetWorksheets()->Get(0))->SaveToFile(outputFile.c_str(), L";", false); workbook->Dispose(); }
效果圖
將 CSV 轉換為 Excel
將 CSV 檔案轉換為 Excel的具體步驟如下:
- 初始化 Workbook 類的實體,
- 使用 Workbook->LoadFromFile(LPCWSTR_S fileName,LPCWSTR_S separator) 方法加載帶有分隔符的 CSV 檔案,
- 使用 Workbook->GetWorksheets()->Get(int index) 方法通過索引獲取檔案中的特定作業表,
- 設定忽略錯誤選項,以在使用 Worksheet->GetRange(LPCWSTR_S name)->SetIgnoreErrorOptions(IgnoreErrorType::NumberAsText) 方法將特定單元格范圍中的數字保存為文本時忽略錯誤,
- 使用 Worksheet->GetAllocatedRange()->AutoFitColumns() 方法自動調整列寬,
- 使用 Workbook->SaveToFile (LPCWSTR_S fileName, ExcelVersion version) 方法將 CSV 檔案保存到 Excel 檔案中,
完整代碼
#include "Spire.Xls.o.h"; using namespace Spire::Xls; int main() { //指定輸出檔案路徑和名稱 std::wstring inputPath = L"輸入\\"; std::wstring inputFile = inputPath + L"示例.csv"; std::wstring outputPath = L"輸出\\"; std::wstring outputFile = outputPath + L"CSVToExcel_out.xlsx"; //初始化 Workbook 類的實體 intrusive_ptr<Workbook> workbook = new Workbook(); //加載CSV檔案 workbook->LoadFromFile(inputFile.c_str(), L","); //獲取特定作業表 intrusive_ptr<Worksheet> sheet = dynamic_pointer_cast<Worksheet>(workbook->GetWorksheets()->Get(0)); //將忽略錯誤選項設定為將特定單元格區域中的數字保存為文本時忽略錯誤 dynamic_pointer_cast<CellRange>(sheet->GetRange(L"D2:D12"))->SetIgnoreErrorOptions(IgnoreErrorType::NumberAsText); sheet->GetAllocatedRange()->AutoFitColumns(); //保存檔案 workbook->SaveToFile(outputFile.c_str(), ExcelVersion::Version2013); workbook->Dispose(); }
效果圖
—本文完—
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/556309.html
標籤:其他
上一篇:流程控制節點
下一篇:返回列表