1.首先需要一点文件:

#include "BasicExcel.h"
using namespace YExcel;

2.下面这种方式创建的excel都不可以在windows下打开,存放过数据的也不行

BasicExcel e;// Load a workbook with one sheet, display its contents and// save into another file.e.Load("E:\\vs2017_project\\MFC_EXCEL\\example.xlsx");//加载工作簿BasicExcelWorksheet* sheet1 = e.GetWorksheet("Sheet1");//获取工作表指针BasicExcelCell* cell;if (sheet1){size_t maxRows = sheet1->GetTotalRows();//获取工作表总行数size_t maxCols = sheet1->GetTotalCols();//总列数cout << "Dimension of " << sheet1->GetAnsiSheetName() <<" (" << maxRows << ", " << maxCols << ")" << endl;printf(" ");for (size_t c = 0; c < maxCols; ++c) printf("%10d", c + 1);cout << endl;for (size_t r = 0; r < maxRows; ++r){printf("%10d", r + 1);for (size_t c = 0; c < maxCols; ++c){BasicExcelCell* cell = sheet1->Cell(r, c);//返回指向单元格的指针switch (cell->Type())//返回值的类型{case BasicExcelCell::UNDEFINED:printf(" ");break;case BasicExcelCell::INT:printf("%10d", cell->GetInteger());break;case BasicExcelCell::DOUBLE:printf("%10.6lf", cell->GetDouble());break;case BasicExcelCell::STRING:printf("%10s", cell->GetString());break;case BasicExcelCell::WSTRING:wprintf(L"%10s", cell->GetWString());break;}}cout << endl;}cell = sheet1->Cell(1, 3);//得到单元格指针cell->SetDouble(3.141592654);//存入数据}cout << endl;e.Save();//保存e.SaveAs("E:\\vs2017_project\\MFC_EXCEL\\example2.xlsx");//文件另存为// Create a new workbook with 2 worksheets and write some contents.e.New(2);//创建新表e.RenameWorksheet("Sheet1", "Test1");//重命名表格BasicExcelWorksheet* sheet = e.GetWorksheet("Test1");//memcpy(s2, sheet->Cell(1, 2), i);                                       //读取单元格并复制到s2的方式//BasicExcelCell* cell;if (sheet){for (size_t c = 0; c < 4; ++c){cell = sheet->Cell(0, c);cell->Set((int)c);//存放数字}cell = sheet->Cell(1, 3);cell->SetDouble(3.141592654);sheet->Cell(1, 4)->SetString("Test str1");//存放字符串sheet->Cell(2, 0)->SetString("Test str2");sheet->Cell(2, 5)->SetString("Test str1");sheet->Cell(4, 0)->SetDouble(1.1);//存放小数sheet->Cell(4, 1)->SetDouble(2.2);sheet->Cell(4, 2)->SetDouble(3.3);sheet->Cell(4, 3)->SetDouble(4.4);sheet->Cell(4, 4)->SetDouble(5.5);sheet->Cell(4, 4)->EraseContents();//擦除单元格}sheet = e.AddWorksheet("Test2", 1);//增加工作表sheet = e.GetWorksheet(1);//获取工作表指针if (sheet){sheet->Cell(1, 1)->SetDouble(1.1);sheet->Cell(2, 2)->SetDouble(2.2);sheet->Cell(3, 3)->SetDouble(3.3);sheet->Cell(4, 4)->SetDouble(4.4);sheet->Cell(70, 2)->SetDouble(5.5);}e.SaveAs("E:\\vs2017_project\\MFC_EXCEL\\example3.xlsx");// Load the newly created sheet and display its contentse.Load("E:\\vs2017_project\\MFC_EXCEL\\example3.xlsx");size_t maxSheets = e.GetTotalWorkSheets();cout << "Total number of worksheets: " << e.GetTotalWorkSheets() << endl;for (size_t i = 0; i < maxSheets; ++i){BasicExcelWorksheet* sheet = e.GetWorksheet(i);if (sheet){size_t maxRows = sheet->GetTotalRows();//行数size_t maxCols = sheet->GetTotalCols();//列数cout << "Dimension of " << sheet->GetAnsiSheetName() <<" (" << maxRows << ", " << maxCols << ")" << endl;if (maxRows > 0){printf(" ");for (size_t c = 0; c < maxCols; ++c) printf("%10d", c + 1);cout << endl;}for (size_t r = 0; r < maxRows; ++r){printf("%10d", r + 1);for (size_t c = 0; c < maxCols; ++c){cout << setw(10) << *(sheet->Cell(r, c));//输出// Another way of printing a cell content.}cout << endl;}//if (i == 0)//{//   ofstream f("example4.csv");// sheet->Print(f, ',', '\"'); // Save the first sheet as a CSV file.//    f.close();//}}cout << endl;}

以上来自:https://blog.csdn.net/greless/article/details/76922707?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
其中有非常详细的BasicExcel详细的函数介绍。

vs操作excel存取数据,BasicExcel相关推荐

  1. Python入门到实战(五)自动化办公、pandas操作Excel、数据可视化、绘制柱状图、操作Word、数据报表生成、pip install国内镜像下载

    Python入门到实战(五)conda使用.pandas操作Excel.数据可视化.绘制柱状图.操作Word.数据报表生成.pip install国内镜像下载 conda使用 常用操作 配置VS+Co ...

  2. 简单实现POI操作Excel生成数据透视图

    简单实现POI操作Excel生成数据透视图 需求 思考 尝试 实现 搞完收工,去画模板了 需求 财务部门需要做一自动导出数据报表的功能,其中要有指定格式的数据透视图(柱状图.饼状图等等) 思考 正常来 ...

  3. POI 操作 Excel -大数据量高效读写

    前言 poi的读取的三种模式 模式 说明 读写性 SXSSF 内存中保留一定行数数据,超过行数,将索引最低的数据刷入硬盘 只写 eventmodel 基于事件驱动,SAX的方式解析excel,cup和 ...

  4. Open XML操作Excel导入数据

    项目中发现使用OleDb(using System.Data.OleDb)相关对象处理Excel导入功能,不是很稳定经常出问题,需要把这个问题解决掉.项目组提出使用OpenXML来处理Excel的导入 ...

  5. python提取内容保存excel_Python操作Excel之数据提取

    最近发现excel数据量极大,并且通过简单的数据操作不能提取到我需要的数据,如果单独操作,数据量太大耗时太长. 想着通过简单的方式,并且快速提取数据,就想到了Python. python操作Excel ...

  6. linux下python识别excel,Python操作Excel之数据提取

    最近发现excel数据量极大,并且通过简单的数据操作不能提取到我需要的数据,如果单独操作,数据量太大耗时太长. 想着通过简单的方式,并且快速提取数据,就想到了Python. python操作Excel ...

  7. python提取excel-Python操作Excel之数据提取

    最近发现excel数据量极大,并且通过简单的数据操作不能提取到我需要的数据,如果单独操作,数据量太大耗时太长. 想着通过简单的方式,并且快速提取数据,就想到了Python. python操作Excel ...

  8. python自动化表格截图_python自动化操作——excel刷新数据并截图发送微信

    1 importos2 importwin32gui, win32api, win32con, win32com3 from win32com.client importDispatch4 from ...

  9. python自动化操作——excel刷新数据并截图发送微信

    我真的是服了,一堆复制党到处粘贴,也太肆无忌惮了吧,麻烦尊尊下版权好吗,好歹这也是我辛辛苦苦写出来的......   原封不动的抄,错了的也不知道.真的是搞笑!   1 import os2 impo ...

最新文章

  1. 在VS中如保快速查看DLL或exe的已导出的函数
  2. Kotlin on Android 开发环境介绍
  3. 小数 ###_C#中的小数关键字
  4. mysql内置含糊_mySQL入门04 内置函数
  5. 菜鸟网络宣布推出物流加速上云行动“鲲鹏计划”
  6. 适配接口 java_【Java 设计模式】接口型模式--Adapter(适配器)模式
  7. 三级网络技术_中小型网络系统总体规划与设计方法
  8. GitHub 免费开放开发者计划,增加系列新优势
  9. Python必备封装基本代码~Python函数
  10. 济南python工资一般多少-济南Go全栈区块链课程
  11. ESLint规则配置说明
  12. 学习笔记/音视频面试
  13. mysql中有关视图的概念、操作及作用
  14. Echarts直角坐标系x轴y轴属性设置大全
  15. 多目标优化问题中常见分解方法的理解
  16. 警猫眼App:闲置安卓旧手机DIY变成安防监控云端摄像头
  17. 大多数人都自我嫌弃而不自知
  18. Java8 使用 stream().sorted()对List集合进行排序
  19. Mozilla里永久删除的邮件如何恢复
  20. KCF算法(相关滤波算法) 跟踪目标

热门文章

  1. Unicode 编码表
  2. 百家争鸣|2021区块链服务网络(BSN)全球合作伙伴大会在杭召开
  3. virbr0网卡恢复
  4. 搜狗智能联想输入法,背后的运维又是如何智能的?
  5. c++ 获取cpu最大线程数
  6. 外接键盘手感好?ROG GX501说并不需要
  7. 2017-08-03 面试记录(铃声多多)
  8. java的jvm和事务并发的关系_Java程序员岗面试总结
  9. 嘉应学院计算机二级考点,2017计算机二级考试MSOffice核考点表格的使用方法
  10. 【抢救攻略】/etc/shadow文件误删处理