Excel 和 CSV(字符分隔值)是各行业管理和存储表格数据的两种常用文件格式。Excel 以行和列的形式组织数据,并为用户提供广泛的数据操作、分析和可视化高级功能,而 CSV 则以纯文本格式存储数据,这种格式轻巧且与各种应用程序高度兼容。当用户需要在不同的程序中交换或导入 Excel 数据时,将 Excel 文件转换为 CSV 格式非常有用。相反,需要更高级的数据分析功能(如创建图表或应用公式)的用户可能会发现将 CSV 文件转换为 Excel 格式更为有效。在本文中,我们将演示如何使用 Spire.XLS for C++ 将 Excel 转换为 CSV 或将 CSV 转换为Excel。
安装 Spire.XLS for C++
有两种方法可以将 Spire.XLS for C++ 集成到您的应用程序中。一种方法是通过 NuGet 安装它,另一种方法是从我们的网站下载包并将库复制到您的程序中。通过 NuGet 安装更简单,更推荐使用。您可以通过访问以下链接找到更多详细信息。
如何将 Spire.XLS for C++ 集成到 C++ 程序中
将 Excel 转换为 CSV
Spire.XLS for C++ 提供了 XlsWorksheet->SaveToFile (LPCWSTR_S fileName, LPCWSTR_S separator, Spire::Common::Encoding* encoding) 方法,用于将 Excel 文件中的工作表转换为 CSV。具体步骤如下:
- 初始化 Workbook 类的实例。
- 使用 Workbook->LoadFromFile() 方法加载 Excel 文件。
- 使用 Workbook->GetWorksheets()->Get(int index) 方法通过索引获取工作簿中的特定工作表。
- 使用 XlsWorksheet->SaveToFile (LPCWSTR_S fileName, LPCWSTR_S separator, Spire::Common::Encoding* encoding) 方法将工作表保存到 CSV 文件中。
- C++
#include "Spire.Xls.o.h";
using namespace Spire::Xls;
int main()
{
//初始化Workbook类的实例
Workbook* workbook = new Workbook();
//加载Excel文件
workbook->LoadFromFile(L"示例文档.xlsx");
//获取指定工作表
Worksheet* sheet = workbook->GetWorksheets()->Get(0);
//将工作表保存到CSV文件
sheet->SaveToFile(L"ExcelToCsv.csv", L",", Encoding::GetUTF8());
workbook->Dispose();
delete workbook;
}
将 Excel 中的可见数据转换为 CSV
使用上述代码将 Excel 工作表转换为 CSV 时,所有数据,包括可见数据和隐藏数据,都将保存为 CSV。如果只想将工作表中的可见数据保存为 CSV,可以使用 XlsWorksheet->SaveToFile (LPCWSTR_S fileName, LPCWSTR_S separator, bool retainHiddenData) 方法。具体步骤如下:
- 初始化 Workbook 类的实例。
- 使用 Workbook->LoadFromFile() 方法加载 Excel 文件。
- 使用 Workbook->GetWorksheets()->Get(int index) 方法通过索引获取工作簿中的特定工作表。
- 使用 XlsWorksheet->SaveToFile (LPCWSTR_S fileName, LPCWSTR_S separator, bool retainHiddenData) 方法将工作表中的可见数据保存到 CSV 文件中。
- C++
#include "Spire.Xls.o.h";
using namespace Spire::Xls;
int main()
{
//初始化Workbook类的实例
Workbook* workbook = new Workbook();
//加载Excel文件
workbook->LoadFromFile(L"示例文档.xlsx");
//获取工作簿中的特定工作表
Worksheet* sheet = workbook->GetWorksheets()->Get(0);
//将工作表中的可见数据保存到CSV文件中
sheet->SaveToFile(L"ExcelToCsv1.csv", L",", false);
workbook->Dispose();
delete workbook;
}
将 CSV 转换为 Excel
要将 CSV 文件转换为 Excel,您需要使用 Workbook->LoadFromFile(LPCWSTR_S fileName, LPCWSTR_S separator) 方法加载 CSV 文件,然后使用 Workbook->SaveToFile (LPCWSTR_S fileName, ExcelVersion version) 方法将其保存到 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 文件中。
- C++
#include "Spire.Xls.o.h";
using namespace Spire::Xls;
int main()
{
//初始化Workbook类的实例
Workbook* workbook = new Workbook();
//加载带有分隔符的CSV文件
workbook->LoadFromFile(L"ExcelToCSV.csv", L",");
//获取文件中的特定工作表
Worksheet* sheet = workbook->GetWorksheets()->Get(0);
//将忽略错误选项设置为将特定单元格区域中的数字保存为文本时忽略错误
sheet->GetRange(L"C2:C11")->SetIgnoreErrorOptions(IgnoreErrorType::NumberAsText);
//自动调整列宽
sheet->GetAllocatedRange()->AutoFitColumns();
//将文件保存到Excel XLSX文件
workbook->SaveToFile(L"CsvToExcel.xlsx", ExcelVersion::Version2013);
workbook->Dispose();
delete workbook;
}
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。