我们这里使用开源的第三方库xlnt,环境是Windows,IDE是visual studio

环境配置就不再介绍了,我们这里是使用vcpkg直接的,你们可以也去GitHub下载自己编译

读xlsx文件并存入vector内

#include <iostream>
#include <xlnt/xlnt.hpp>
#include<vector>
#include<vector>
#include<string>int main(){std::vector<std::vector<std::string>>value{};xlnt::workbook wb;//创建一个工作簿对象wb.load("test.xlsx");auto ws = wb.active_sheet();//返回工作表对象// 会把当前占用的单元格全都打印出来,空单元格则为空格。for (auto row : ws.rows(false)){std::vector<std::string>tmp{};for (auto cell : row) {tmp.emplace_back(cell.to_string());std::clog << cell.to_string() << "\t";}value.emplace_back(tmp);std::clog << std::endl;}std::cout << "---------------------------------------------\n";for (auto i : value) {for (auto j : i) {std::cout << j << '\t';}std::endl(std::cout);}
}

创建xlsx写,设置单元格格式

#include <iostream>
#include <xlnt/xlnt.hpp>int main()
{xlnt::workbook wb;xlnt::worksheet ws = wb.active_sheet();//设置工作表名称ws.title("data");//赋值为数值ws.cell("A1").value(0.5);//设置单位格格式,设为百分比形式ws.cell("A1").number_format(xlnt::number_format::percentage());//赋值为字符串ws.cell("B2").value("string data");//赋值为公式ws.cell("C3").formula("=RAND()");//合并单元格ws.merge_cells("C3:C4");//冻结窗格ws.freeze_panes("B2");//保存wb.save("test_save.xlsx");
}

批量写入xlsx

#include <iostream>
#include <xlnt/xlnt.hpp>
#include <vector>
#include <string>int main(){std::vector< std::vector<std::string> > wholeWorksheet;for (int outer = 0; outer < 10; outer++){std::vector<std::string> singleRow;for (int inner = 0; inner < 10; inner++){//给vector中的每个元素赋值singleRow.emplace_back(std::to_string(inner + 1));}wholeWorksheet.emplace_back(singleRow);}//创建工作簿xlnt::workbook wbOut;//创建工作表,并把vector中的元素写入表格xlnt::worksheet wsOut = wbOut.active_sheet();//给工作表设置名称wsOut.title("data");for (int fOut = 0; fOut < wholeWorksheet.size(); fOut++){for (int fIn = 0; fIn < wholeWorksheet.at(fOut).size(); fIn++){std::string cell = xlnt::cell_reference(fIn + 1, fOut + 1).to_string();// 给单元格赋值。特别注意:工作表中的单元格下标是从1开始,而vector中的元素下标是从0开始wsOut.cell(cell).value(std::stoi(wholeWorksheet[fOut][fIn]));//将单元格格式设置为数字.00格式wsOut.cell(cell).number_format(xlnt::number_format::number_00());}}wbOut.save("test_save.xlsx");
}

需要注意,如果设置单元格value的时候使用的是string,那么不管再设置什么格式都是无效的,都只是文本格式

C++操作Excel表格相关推荐

  1. python excel操作单元格_python 操作excel表格的方法

    说明:由于公司oa暂缺,人事妹子在做考勤的时候,需要通过几个excel表格去交叉比对员工是否有旷工或迟到,工作量大而且容易出错. 这时候it屌丝的机会来啦,花了一天时间给妹子撸了一个自动化脚本. 1. ...

  2. 使用VC来操作Excel表格的源码

    下面的代码段是关于使用VC来操作Excel表格的的代码,应该对小伙伴们也有用. if (CoInitialize(NULL) != 0) { AfxMessageBox("初始化COM支持库 ...

  3. python 编辑excel需要什么包_Python 中操作EXCEL表格的包

    今天,马云爸爸又来贡献金句了,比王健林公公一亿一个小目标还高,"一个月挣一二十个亿很难受!!!",作为在传统企业主要为电商部门提供数据分析的数据分析师,体验太深刻了. 双11前后, ...

  4. android jxl.jar 使用,使用jxl.jar在Android中操作Excel表格——重中之重——对隐藏表的处理...

    曾简单了解过C#,将Excel(数据库表)表中的数据导入到C#中,使用C#制作的图形化界面进行对Excel表中数据进行操作. 今天想试试,在Android中导入Excel表格进行操作.在网上查阅资料, ...

  5. 【web开发】☆★之利用POI操作Excel表格系列教程【6】遍历工作簙行和列取值

    [web开发]☆★之利用POI操作Excel表格系列教程[6]遍历工作簙行和列取值 package com.xiaoye.demo; import java.io.FileInputStream; i ...

  6. Python操作Excel表格(二)

    Python操作Excel表格第二弹 本博客在前一篇博客基础上增加了若干函数,如按列寻找值,查重和增强型查重.数据写入等相关代码.实现了类似Sql的查询(注解中的SQL语句仅做参考,并非可执行SQL) ...

  7. java操作excel方法_Java实现操作excel表格的方法

    Java开发人员开发的项目需要自动读取数据,其实我们还需要用程序处理Excel数据表,接下来爱站技术频道小编就为大家讲解Java实现操作excel表格的方法吧! 一:查 (查找本地指定位置的excel ...

  8. python openpyxl操作Excel表格

    原创:未经允许不得转载,转载需标明出处 打算分为两个部分: 第一部分为:操作Excel表格 第二部分为:操作Excel图表 现在发布为第一部分内容 在最近的项目中的使用到了提取Android帧率日志, ...

  9. python操作xls_python操作excel表格的方法

    这篇文章我们来讲一下在网站建设中,python操作excel表格的方法.本文对大家进行网站开发设计工作或者学习都有一定帮助,下面让我们进入正文. 说明:由于公司oa暂缺,人事妹子在做考勤的时候,需要通 ...

  10. Java 操作excel表格 - JXL(Java excel api)

    Java 操作excel表格 Java 操作 Excel 最常用的就是JXL(Java excel api)和POI,用起来挺简单的,不过相应的其功能也并非很强大,够用就行! 首先,下载jxl.jar ...

最新文章

  1. 关于在VS2005环境下无法从源视图切换到设计视图的解决方案
  2. 把文件每行的tab键分隔符改成逗号分隔符
  3. 听得我都激动了……喝死奥巴马,你怎么看?
  4. WCF中安全的那些事!!!
  5. 智能实验室-全能优化(Guardio) 5.10.0.1150
  6. spring—Bean实例化三种方式
  7. python 交互式可视化库_Python 交互式可视化库
  8. micropython中文社区 socket通讯_基于micropython的TCP客户端编程
  9. 在Flex中获取一个屏幕截图(Screenshot)并将其传递给ASP.NET
  10. GIT提交(COMMIT)代码时,不显示新建的文件
  11. UVA10909 Lucky Number题解
  12. (01)C++之设计模式演变
  13. WPF 学习笔记(十二)
  14. SCI文章下载网址收藏
  15. Linux指令系统文件复制到U盘
  16. python操作word题注样式_Word 有什么技巧,让你相见恨晚?
  17. 计算机语言phal语言,phalapi
  18. ##DBUtils工具类的正确使用(一)
  19. 随便记录点 在 贴吧 里 讨论 广义相对论 的 想法
  20. 增强学习导论 中文版

热门文章

  1. java 实现双人五子棋
  2. [论文笔记]Vision-based Control of 3D Facial Animation
  3. Centos校准时间
  4. 如何让自己成为优秀员工?
  5. CDH 导入KDC Account Manager 凭据失败
  6. 支付宝对账单和微信对账单下载保存数据库
  7. A STRIP OF LAND POJ - 1156 (单调队列)
  8. 怎样查看 iPhone 基带版本号
  9. 计算机原理处理器,多处理器结构-微计算机原理-电子发烧友网站
  10. 【2018亚太数据中心峰会】林峰:中国游戏打破传统模式立足国际舞台