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 = new Workbook(); //加载Excel文档 workbook->LoadFromFile(inputFile.c_str()); //获取特定工作表 intrusive_ptr sheet = dynamic_pointer_cast(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 = new Workbook(); //加载Excel文档 workbook->LoadFromFile(inputFile.c_str()); //获取特定工作表 intrusive_ptr sheet = dynamic_pointer_cast(workbook->GetWorksheets()->Get(0)); //将工作表中的可见数据保存到CSV文件中 dynamic_pointer_cast(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 = new Workbook(); //加载CSV文档 workbook->LoadFromFile(inputFile.c_str(), L","); //获取特定工作表 intrusive_ptr sheet = dynamic_pointer_cast(workbook->GetWorksheets()->Get(0)); //将忽略错误选项设置为将特定单元格区域中的数字保存为文本时忽略错误 dynamic_pointer_cast(sheet->GetRange(L"D2:D12"))->SetIgnoreErrorOptions(IgnoreErrorType::NumberAsText); sheet->GetAllocatedRange()->AutoFitColumns(); //保存文档 workbook->SaveToFile(outputFile.c_str(), ExcelVersion::Version2013); workbook->Dispose(); }
效果图
—本文完—
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
相关推荐: 如何让“ChatGPT自己写出好的Prompt的“脚本在这里
写个好的Prompt太费力了
自动扮演角色+交互式的Prompt
案例实际演示
总结写个好的Prompt太费力了 在网上,你可能会看到很多人告诉你如何写Prompt,需要遵循各种规则,扮演不同的角色,任务明确、要求详细,还需要不断迭代优化。写一个出色的Prompt需要投入大量的时间和精力。甚至有一些公开的Prompt的开源库总结如何角色扮演。…