前面已经记录了 VS2017编译的问题,这次使用VS2015又有新的问题,解决方案如下
VS2015出现问题
问题1 报各种路径错误
解决方案:修改输出路径 直接改成 $(SolutionDir)bin\xxx (xxx表示dll 或者 lib)或者不要xxx 直接都放在bin路径下
问题2 优化
解决方案:修改debug和release的版本 输出的debug通常用xxxd.lib,xxxd.dll 这样和Release版本作为区分
问题3 提示各种找不到文件的错误
解决方案:修改 【配置属性】->【生成事件】->【后期生成事件】 命令行 修改成 从父集继承
还有一个在编译createDll的时候 出现的 关于 _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS 这个关键字的错误,在Stack Overflow上面找到解决方案
#define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS 1
补充xlslib上几个常用的函数
workbook wb;
xf_t* xf = wb.xformat();
worksheet* ws = wb.sheet(L"中文"); //sheet1名称
std::wstring strTemp = L"";
//设置宽度和头
ws->defaultColwidth(20); //设置默认的列宽
ws->defaultRowHeight(20); //设置默认的行高
//ws->merge(3, 0, 4, 0); //单元格的合并
//ws->colwidth(2, 256); //设置某一列的列宽
//ws->rowheight; //设置行高
设置宽高 设置列宽 设置单元格合并
在使用xlslib中出现了 换行问题
解决方案:
在字符串中对应的需要写入的Excel的部分 进行 \r\n处理 即可
需要给对应的单元格加上一些属性处理
给对应的单元格进行处理 才能够很好的换行
ws->FindCell(i + 1, 6)->halign(HALIGN_JUSTIFY);
ws->FindCell(i+1, 6)->valign(VALIGN_JUSTIFY); //当数据长度大于单元格长度的时候 会自动换行