欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用C++實(shí)現(xiàn)Excel文件與CSV之間的相互轉(zhuǎn)換

 更新時(shí)間:2023年06月30日 08:34:36   作者:E-iceblue  
這篇文章主要為大家詳細(xì)介紹了如何使用C++實(shí)現(xiàn)Excel文件與CSV之間的相互轉(zhuǎn)換,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下

CSV格式是一種通用的文本文件格式,可在多個(gè)應(yīng)用程序之間共享和使用。相比之下,Excel文件是一種電子表格格式,通常只能在Microsoft Excel中編輯和查看。因此,將Excel文件轉(zhuǎn)換為CSV格式可使數(shù)據(jù)更方便地在其他應(yīng)用程序中使用;而將CSV文件轉(zhuǎn)換為Excel格式則有利于在Microsoft Excel中編輯和查看。這種互相轉(zhuǎn)換可以方便地在不同應(yīng)用程序之間交換或分享數(shù)據(jù)。在本文中,我們將演示如何使用 Spire.XLS for C++  Excel 轉(zhuǎn)換為 CSV 或?qū)?/strong> CSV 轉(zhuǎn)換為Excel。

  • 將 Excel 轉(zhuǎn)換為 CSV
  • 將 Excel 中的可見(jiàn)數(shù)據(jù)轉(zhuǎn)換為 CSV
  • 將 CSV 轉(zhuǎn)換為 Excel

安裝 Spire.XLS for C++

有兩種方法可以將 Spire.XLS for C++ 集成到您的應(yīng)用程序中。一種方法是通過(guò) NuGet 安裝它,另一種方法是從我們的網(wǎng)站下載包并將庫(kù)復(fù)制到您的程序中。通過(guò) NuGet 安裝更簡(jiǎn)單,更推薦使用。您可以通過(guò)訪問(wèn)以下鏈接找到更多詳細(xì)信息。

如何將 Spire.XLS for C++ 集成到 C++ 程序中

將 Excel 轉(zhuǎn)換為 CSV

具體步驟如下:

  • 初始化 Workbook 類的實(shí)例。
  • 使用 Workbook->LoadFromFile() 方法加載 Excel 文件。
  • 使用 Workbook->GetWorksheets()->Get(int index) 方法通過(guò)索引獲取工作簿中的特定工作表。
  • 使用 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"結(jié)果文檔.csv";
    //初始化 Workbook 類的實(shí)例
    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 中的可見(jiàn)數(shù)據(jù)轉(zhuǎn)換為 CSV

如果只想將工作表中的可見(jiàn)數(shù)據(jù)保存為 CSV,具體步驟如下:

  • 初始化 Workbook 類的實(shí)例。
  • 使用 Workbook->LoadFromFile() 方法加載 Excel 文件。
  • 使用 Workbook->GetWorksheets()->Get(int index) 方法通過(guò)索引獲取工作簿中的特定工作表。
  • 使用 XlsWorksheet->SaveToFile (LPCWSTR_S fileName, LPCWSTR_S separator, bool retainHiddenData) 方法將工作表中的可見(jiàn)數(shù)據(jù)保存到 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"結(jié)果文檔.csv";
        //初始化 Workbook 類的實(shí)例
        intrusive_ptr<Workbook> workbook = new Workbook();
        //加載Excel文檔
        workbook->LoadFromFile(inputFile.c_str());
        //獲取特定工作表
        intrusive_ptr<Worksheet> sheet = dynamic_pointer_cast<Worksheet>(workbook->GetWorksheets()->Get(0));
        //將工作表中的可見(jiàn)數(shù)據(jù)保存到CSV文件中
    dynamic_pointer_cast<Worksheet>(workbook->GetWorksheets()->Get(0))->SaveToFile(outputFile.c_str(), L";", false);
        workbook->Dispose();
    }

效果圖

將 CSV 轉(zhuǎn)換為 Excel

將 CSV 文件轉(zhuǎn)換為 Excel的具體步驟如下:

  • 初始化 Workbook 類的實(shí)例。
  • 使用 Workbook->LoadFromFile(LPCWSTR_S fileName,LPCWSTR_S separator) 方法加載帶有分隔符的 CSV 文件。
  • 使用 Workbook->GetWorksheets()->Get(int index) 方法通過(guò)索引獲取文件中的特定工作表。
  • 設(shè)置忽略錯(cuò)誤選項(xiàng),以在使用 Worksheet->GetRange(LPCWSTR_S name)->SetIgnoreErrorOptions(IgnoreErrorType::NumberAsText) 方法將特定單元格范圍中的數(shù)字保存為文本時(shí)忽略錯(cuò)誤。
  • 使用 Worksheet->GetAllocatedRange()->AutoFitColumns() 方法自動(dòng)調(diào)整列寬。
  • 使用 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 類的實(shí)例
            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));
             //將忽略錯(cuò)誤選項(xiàng)設(shè)置為將特定單元格區(qū)域中的數(shù)字保存為文本時(shí)忽略錯(cuò)誤
    dynamic_pointer_cast<CellRange>(sheet->GetRange(L"D2:D12"))->SetIgnoreErrorOptions(IgnoreErrorType::NumberAsText);
            sheet->GetAllocatedRange()->AutoFitColumns();
            //保存文檔
            workbook->SaveToFile(outputFile.c_str(), ExcelVersion::Version2013);
            workbook->Dispose();
        }

效果圖

到此這篇關(guān)于使用C++實(shí)現(xiàn)Excel文件與CSV之間的相互轉(zhuǎn)換的文章就介紹到這了,更多相關(guān)C++ Excel轉(zhuǎn)CSV內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • OpenCV外接USB攝像頭的方法

    OpenCV外接USB攝像頭的方法

    這篇文章主要為大家詳細(xì)介紹了OpenCV外接USB攝像頭的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • C語(yǔ)言中多維數(shù)組的內(nèi)存分配和釋放(malloc與free)的方法

    C語(yǔ)言中多維數(shù)組的內(nèi)存分配和釋放(malloc與free)的方法

    寫代碼的時(shí)候會(huì)碰到多維數(shù)組的內(nèi)存分配和釋放問(wèn)題,在分配和釋放過(guò)程中很容易出現(xiàn)錯(cuò)誤。下面貼上一些示例代碼,以供參考。
    2013-05-05
  • C++實(shí)現(xiàn)LeetCode(71.簡(jiǎn)化路徑)

    C++實(shí)現(xiàn)LeetCode(71.簡(jiǎn)化路徑)

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(71.簡(jiǎn)化路徑),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C語(yǔ)言中調(diào)用Swift函數(shù)實(shí)例詳解

    C語(yǔ)言中調(diào)用Swift函數(shù)實(shí)例詳解

    這篇文章主要介紹了C語(yǔ)言中調(diào)用Swift函數(shù)實(shí)例詳解的相關(guān)資料,實(shí)現(xiàn)該功能可以通過(guò)定義全局的指向Blocks的對(duì)象指針來(lái)實(shí)現(xiàn),需要的朋友可以參考下
    2017-07-07
  • C++多繼承多態(tài)的實(shí)例詳解

    C++多繼承多態(tài)的實(shí)例詳解

    這篇文章主要介紹了C++多繼承多態(tài)的實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • C++前綴樹字典樹的學(xué)習(xí)與模擬實(shí)現(xiàn)代碼示例

    C++前綴樹字典樹的學(xué)習(xí)與模擬實(shí)現(xiàn)代碼示例

    這篇文章主要介紹了C++前綴樹字典樹的學(xué)習(xí)與模擬實(shí)現(xiàn)代碼示例,Trie又被稱為前綴樹、字典樹,所以當(dāng)然是一棵樹,上面這棵Trie樹包含的字符串集合是{in,inn,int,tea,ten,to},每個(gè)節(jié)點(diǎn)的編號(hào)是我們?yōu)榱嗣枋龇奖慵由先サ?需要的朋友可以參考下
    2023-07-07
  • 基于OpenCV實(shí)現(xiàn)圖像分割

    基于OpenCV實(shí)現(xiàn)圖像分割

    這篇文章主要為大家詳細(xì)介紹了基于OpenCV實(shí)現(xiàn)圖像分割,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • C++類模板實(shí)戰(zhàn)之vector容器的實(shí)現(xiàn)

    C++類模板實(shí)戰(zhàn)之vector容器的實(shí)現(xiàn)

    本文我們將做一個(gè)類模板實(shí)戰(zhàn)-手寫精簡(jiǎn)版vector容器。讓我們自己封裝一個(gè)數(shù)組類,可以適應(yīng)基本數(shù)據(jù)類型和自定義數(shù)據(jù)類型,感興趣的可以了解一下
    2022-07-07
  • C語(yǔ)言實(shí)現(xiàn)帶頭雙向循環(huán)鏈表的接口

    C語(yǔ)言實(shí)現(xiàn)帶頭雙向循環(huán)鏈表的接口

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)帶頭雙向循環(huán)鏈表的接口,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • c++中priority_queue模擬的實(shí)現(xiàn)

    c++中priority_queue模擬的實(shí)現(xiàn)

    priority_queue是C++標(biāo)準(zhǔn)庫(kù)中的一個(gè)容器適配器,用于實(shí)現(xiàn)優(yōu)先隊(duì)列的數(shù)據(jù)結(jié)構(gòu),本文主要介紹了c++中priority_queue模擬的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-09-09

最新評(píng)論