/*
2018-10-12 16:57:05
使用xlslib来对Excel文件的一些操作
VS2017编译的一些问题    (这个库只支持写)
*/
详细的编译过程见
参考:https://www.cnblogs.com/dongc/p/8256813.html

参照上述解决问题之前
先将所有的文件转换成dos风格
使用notepad++进行转化
    Edit->EOLConversion->Windows(CR LF) 转换成这种格式

错误信息:
error MSB3073: 命令“
echo 
D:\WindowsProgram\xlslib-package-2.5.0\xlslib\xlslib\build\msvc2017\bin/Win32_MSVC2012.Debug\createDLL -MWin32 -n
D:\WindowsProgram\xlslib-package-2.5.0\xlslib\xlslib\build\msvc2017\bin/Win32_MSVC2017.Debug\xlslib_dll.map -l
D:\WindowsProgram\xlslib-package-2.5.0\xlslib\xlslib\build\msvc2017\obj/xlslib_dll_Win32_MSVC2017.Debug\ -i
D:\WindowsProgram\xlslib-package-2.5.0\xlslib\xlslib\build\msvc2017\bin/Win32_MSVC2017.Debug\xlslib_dll.lib -W
D:\WindowsProgram\xlslib-package-2.5.0\xlslib\xlslib\build\msvc2017\obj/xlslib_dll_Win32_MSVC2012.Debug\

错误解决方式
属性->生成事件->生成后的事件 -> 命令行 ->从父集继承    (编译一次 就会出现该选项的)

如果需要写入中文 该怎么使用?
测试使用xlslib进行写文件
在写入的时候默认用的string

写入的部分代码:

    workbook wb;xf_t* xf = wb.xformat();worksheet* ws = wb.sheet(L"中文");std::string label = "Hello, World!";ws->label(0, 0, label, xf); // 从0开始数,第1行,第2列,即C3wb.Dump("workbook.xls");

看sheet 以及 label的实现

//sheet实现部分
worksheet* workbook::sheet(const string& sheetname)
{u16string str16;worksheet* pnewsheet = new worksheet(m_GlobalRecords, m_sheetIndex++);m_GlobalRecords.char2str16(sheetname, str16);m_Sheets.push_back(pnewsheet);// NOTE: Streampos defaults to 0// It has to be set somewhere elsem_GlobalRecords.AddBoundingSheet(0, BSHEET_ATTR_WORKSHEET, str16);// Return a pointer to the just added sheetreturn m_Sheets.back();
}worksheet* workbook::sheet(const ustring& sheetname)    //ustring 看定义 知道是 wstring
{u16string str16;worksheet* pnewsheet = new worksheet(m_GlobalRecords, m_sheetIndex++);m_GlobalRecords.wide2str16(sheetname, str16);m_Sheets.push_back(pnewsheet);// NOTE: Streampos defaults to 0// It has to be set somewhere elsem_GlobalRecords.AddBoundingSheet(0, BSHEET_ATTR_WORKSHEET, str16);// Return a pointer to the just added sheetreturn m_Sheets.back();
}//label实现部分
cell_t* worksheet::label(unsigned32_t row, unsigned32_t col,const std::string& strlabel, xf_t* pxformat)
{label_t* lbl;lbl = new label_t(m_GlobalRecords, row, col, strlabel, pxformat);AddCell(lbl);return lbl;
}cell_t* worksheet::label(unsigned32_t row, unsigned32_t col,const ustring& strlabel, xf_t* pxformat)
{label_t* lbl;lbl = new label_t(m_GlobalRecords, row, col, strlabel, pxformat);AddCell(lbl);return lbl;
}

根据上面给出的接口 可以很好的写入中文

在需要使用中文的情况下 使用宽字符的形式即可

这个库只支持写Excel文件 我的天啦 = =

设置字体
参考:https://blog.csdn.net/davidsu33/article/details/43153701?utm_source=copy

Windows的一些:

新细明体:PMingLiU
细明体:MingLiU
标楷体:DFKai-SB
黑体:SimHei
宋体:SimSun
新宋体:NSimSun
仿宋:FangSong
楷体:KaiTi
仿宋_GB2312:FangSong_GB2312
楷体_GB2312:KaiTi_GB2312
微软正黑体:Microsoft JhengHei
微软雅黑体:Microsoft YaHei

装Office会生出来的一些:

隶书:LiSu
幼圆:YouYuan
华文细黑:STXihei
华文楷体:STKaiti
华文宋体:STSong
华文中宋:STZhongsong
华文仿宋:STFangsong
方正舒体:FZShuTi
方正姚体:FZYaoti
华文彩云:STCaiyun
华文琥珀:STHupo
华文隶书:STLiti
华文行楷:STXingkai
华文新魏:STXinwei
---------------------

有更好的处理Excel的开源库 Xlnt

在VS2017中使用Xlslib对Excel进行操作相关推荐

  1. VS2017中C++无法将参数1从const char [8] 转换为char[]

    VS2017中开发遇到的问题: 看到网上有两种解决办法: 1.结构体中定义的 char * 前面加上 "const": 原因应该是函数的实参与形参类型不匹配, 字符串在内存中是一个 ...

  2. 转HTML中的table转为excel

    转换html 中的table 为excel,firefox浏览器支持,代码如下 <%@ page language="java" contentType="text ...

  3. ASP.NET中数据库数据导入Excel并打印

    众所周知,WEB上的打印是比较困难的,常见的WEB上打印的方法大概有三种: 1.直接利用IE的打印功能.一般来说,这种方法可以做些扩展,而不是单单的调用javascript:print()这样简单,比 ...

  4. C#中导出百万级Excel只需几秒除了NPOI还可以这样

    场景 Winform中通过NPOI导出Excel的三种方式(HSSFWorkbook,XSSFWorkbook,SXSSFWorkbook)附代码下载: https://blog.csdn.net/B ...

  5. Winform中通过NPOI导出Excel时通过ICellStyle和IDataFormat格式化日期显示格式

    场景 Winform中通过NPOI导出Excel的三种方式(HSSFWorkbook,XSSFWorkbook,SXSSFWorkbook)附代码下载: https://blog.csdn.net/B ...

  6. Winforn中通过NPOI导出Excel时通过XSSFClientAnchor和XSSFPicture添加图片

    场景 Winform中通过NPOI导出Excel的三种方式(HSSFWorkbook,XSSFWorkbook,SXSSFWorkbook)附代码下载: https://blog.csdn.net/B ...

  7. python pandas 读取excel 去重某一列_Python中Pandas读取修改excel操作攻略(代码示例)...

    本篇文章给大家带来的内容是关于Python中Pandas读取修改excel操作攻略(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 环境:python 3.6.8 以某米赛 ...

  8. 使用VS2017编译sqlite和在VS2017中配置使用sqlite的简单例子演示

    转自:http://blog.csdn.net/hyxiaohaiyang/article/details/7382551 知识补充: sqlite3.dll动态链接库,它允许程序共享执行特殊任务所必 ...

  9. springboot中使用poi导出excel文件(亲测实现了第一个功能)

    1.POI简介 Jakarta POI 是一套用于访问微软格式文档的Java API. 组件HWPF用于操作Word的; 组件HSSF用于操作Excel格式文件. 2.常用组件 HSSFWorkboo ...

最新文章

  1. python开发函数进阶:递归函数
  2. C#中的Dictionary字典类介绍
  3. 三维重建:QT+OpenNI+Kinect图像校正
  4. .NET 6 即将到来的新特性 — 隐式命名空间引用
  5. LOJ#6002. 「网络流 24 题」最小路径覆盖
  6. mysql增错误_使用MySQL练习增删改查时因为版本问题出现连接错误
  7. mysql 触发器 for each row 理解_MySQL触发器中的“ FOR EACH ROW”如何工作?
  8. python 类继承方法_python类的继承、多继承及其常用魔术方法
  9. 聊天记录曝光,T-Mobile 证实内部工具和源代码遭 Lapsus$ 访问
  10. python绘制小猪佩奇
  11. IOCCC.1984.anonymous.c.解析
  12. 动软代码生成器-模板修改,模型修改
  13. 掌握通过计算机实现香农编码,信息论编码实验二香农编码
  14. pythonexcel怎么读_python怎么读excel
  15. 静态路由配置(目的下一跳)
  16. 计算机专业论文的创新点怎么说,计算机专业毕业生如何写毕业论文
  17. 程序员用代码求救, 同事“秒懂”
  18. 超简单配置Android持续集成自动化打包流程 - GitHub+GitLab-CI+蒲公英+钉钉
  19. 交换机路由器的基本配置
  20. 从耦合微带线到近、远端串扰

热门文章

  1. 命名实体:中文命名实体识别简介
  2. Android视频播放器Google Exoplayer
  3. Oracle特殊字符转义:和'
  4. USB驱动始终不能成功下载安装
  5. 红外图像非均匀矫正——两点矫正
  6. 如何动态设置Picture图形控件的位图
  7. 快速扩张网站的十个妙招
  8. 25.SwiftyJSON转换JSON的注意
  9. 没错,你看到的这张图,我用Python画出来了!
  10. python如何利用scrapy爬取纵横小说三级链接内容并存储到数据库