zoukankan      html  css  js  c++  java
  • C/C++ 读写 Excel

    需要库:libxl

    下载链接:链接: http://pan.baidu.com/s/1dF9R7WH 密码: 5m4n

    官方网址:http://www.libxl.com/

    代码示例:

    1.generate a new spreadsheet from scratch

    #include "libxl.h"
    using namespace libxl;
    
    int main() 
    {
        Book* book = xlCreateBook(); // xlCreateXMLBook() for xlsx
        if(book)
        {
            Sheet* sheet = book->addSheet("Sheet1");
            if(sheet)
            {
                sheet->writeStr(2, 1, "Hello, World !");
                sheet->writeNum(3, 1, 1000);
            }
            book->save("example.xls");
            book->release();
        } 
        return 0;
    }

    2.extract data from an existing spreadsheet

    Book* book = xlCreateBook();
    if(book)
    {
        if(book->load("example.xls"))
        {
            Sheet* sheet = book->getSheet(0);
            if(sheet)
            {
                const wchar_t* s = sheet->readStr(2, 1);
                if(s) wcout << s << endl;
    
                double d = sheet->readNum(3, 1);
                cout << d << endl;
            }
        }
    
        book->release();
    }

    3.edit an existing spreadsheet

    Book* book = xlCreateBook();
    if(book) 
    {                
        if(book->load("example.xls"))
        {
            Sheet* sheet = book->getSheet(0);
            if(sheet) 
            {   
                double d = sheet->readNum(3, 1);
                sheet->writeNum(3, 1, d * 2);
                sheet->writeStr(4, 1, "new string");
            }
            book->save("example.xls");
        }
    
        book->release();   
    }

    4.apply formatting options

    Font* font = book->addFont();
    font->setName("Impact");
    font->setSize(36);        
    
    Format* format = book->addFormat();
    format->setAlignH(ALIGNH_CENTER);
    format->setBorder(BORDERSTYLE_MEDIUMDASHDOTDOT);
    format->setBorderColor(COLOR_RED);
    format->setFont(font);
               
    Sheet* sheet = book->addSheet("Custom");
    if(sheet)
    {
        sheet->writeStr(2, 1, "Format", format);
        sheet->setCol(1, 1, 25);
    }
    
    book->save("format.xls");

    ps:若出现“undefined reference to 'xxxx'“错误, 可通过手动链接来解决:

    解决方法详见 http://www.cnblogs.com/QQ-1615160629/p/6233866.html

  • 相关阅读:
    sed命令
    awk命令
    let命令
    首先看一下友晶DE-SOC开发板的user manual
    嵌入式FIFO核的调用
    嵌入式ROM核的调用
    用嵌入式块RAM IP核配置一个双口RAM
    如何利用Visio设计一个系统的结构图
    uart通讯协议
    按键消抖试验及一个数码管电子时钟的设计
  • 原文地址:https://www.cnblogs.com/QQ-1615160629/p/6233852.html
Copyright © 2011-2022 走看看