无缝数据转换!使用C++ 实现 Excel文件与CSV之间的相互转换

这篇具有很好参考价值的文章主要介绍了无缝数据转换!使用C++ 实现 Excel文件与CSV之间的相互转换。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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();
}

效果图

无缝数据转换!使用C++ 实现 Excel文件与CSV之间的相互转换

将 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();
    }

效果图

无缝数据转换!使用C++ 实现 Excel文件与CSV之间的相互转换

将 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();
        }

效果图

无缝数据转换!使用C++ 实现 Excel文件与CSV之间的相互转换

—本文完—文章来源地址https://www.toymoban.com/news/detail-508555.html

到了这里,关于无缝数据转换!使用C++ 实现 Excel文件与CSV之间的相互转换的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python 将列表数据写入文件(txt, csv,excel)

    将数据写入新文件 将数据写入第 i 行,第 j 列

    2024年01月16日
    浏览(116)
  • 【Python】python把数据转换为csv文件

    目录 python把数据转换为csv文件 python把数据转换为txt文件 将数据转换为CSV格式文件可以使用Python内置的csv模块进行操作,以下是一段简单的示例代码:

    2024年02月16日
    浏览(58)
  • VUE: 将Json (后台返回的数据-list) 数据转换为Excel文件并实现前端下载

    1. 下载xlsx的包 2. vue中的写法 创建button的按钮,添加点击的函数 写函数 函数流程总体来说就是: 将json字符串书写写入文件,然后转换为blob的对象,之后通过文件流的方式传递给用户下载 其中的 jsonData 可以通过 axios 请求后端传递来的数据。

    2024年02月11日
    浏览(56)
  • 【办公自动化】使用Python批量处理Excel文件并转为csv文件

    🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 目录 前言 一、Python处理Excel 二、批量处理Excel文件并转为csv文件 三、往期推荐          

    2024年02月10日
    浏览(48)
  • Django中利用Admin后台实现Excel/CSV的导入更新数据库和导出数据到Excel/CSV

    本文基于Django自带的admin 后台实现Excel,csv,Json等格式文件的导入并更新后台数据库。 核心是引入 django-import-export 模块。 我们先创建一个app:app01 python manage.py startapp app01 然后在app01文件夹下的models.py 中写入如下模型数据: 指定清华镜像会快很多 修改两处: 注册import_exp

    2023年04月09日
    浏览(48)
  • Python提取JSON文件中的指定数据并保存在CSV或Excel表格文件内

      本文介绍基于 Python 语言,读取 JSON 格式的数据,提取其中的指定内容,并将提取到的数据保存到 .csv 格式或 .xlsx 格式的表格文件中的方法。    JSON 格式的数据在数据信息交换过程中经常使用,但是相对而言并不直观;因此,有时我们希望将 JSON 格式的数据转换为 E

    2024年02月11日
    浏览(54)
  • DBeaver使用——excel、csv数据导入中文乱码问题

    Navicat不让用了,就选择了平替DBeaver~ 1. DBeaver不支持直接导入excel文件,可以先将excel文件转为csv格式。设置编码为“GB2312”(一般为默认)。(注:设置成其它格式也可,注意后面需要将DBeaver中的编码格式设置成和csv中的一致。)   2. 右键“表”,选择导入数据。   3. 设置

    2024年02月10日
    浏览(45)
  • c语言将csv文件中的XY轴数据转换为html波形图

    目标: c语言实现一个最简化的csv转html波形图显示方案。 csv文件格式: 共两行数据,第一行是x轴数据,第二行是y轴数据。 csv文件名分为3段: 波形图名称,x轴名称,y轴名称。 c代码: int csv2html_wave(csv_file_name,html_file_name); html代码: 效果图: TODO: XY轴的箭头。 XY轴显示范围

    2024年01月17日
    浏览(39)
  • yuv数据(nv12和nv21)和RGB数据之间转换的c++代码

    nv21 Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y V U V U V U V U nv21 Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y U V U V U V U V 主要就是UV的顺序不同,交互一下UV的位置就可以互换NV12和NV21. 一般手机等移动端的数据流格式都是yuv格式,而神经网络的输入一般都是rgb格式,所以需要进行转换,这里给出c++的代码示例。 cv

    2024年02月11日
    浏览(43)
  • c++ 11 新特性 不同数据类型之间转换函数之reinterpret_cast

    一.不同数据类型之间转换函数 reinterpret_cast 介绍 reinterpret_cast 是C++中的一种类型转换操作符,用于执行低级别的位模式转换。具体来说, reinterpret_cast 可以实现以下功能: 指针和整数之间的转换 :这种转换通常用于在指针中存储额外信息,或者在特定平台上进行底层操作。

    2024年03月09日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包