当前位置: 首页 > 工具软件 > xlsLib > 使用案例 >

使用VS2015编译Xlslib库

傅丁雷
2023-12-01

前面已经记录了 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);        //当数据长度大于单元格长度的时候 会自动换行

 类似资料: