VC中导出能被excel正确识别的UNICODE格式文本
来源:互联网 发布:mysql 分表与性能 编辑:程序博客网 时间:2024/05/30 19:32
在VC中导出文本,特别是含有中文字符的文本,常会碰到用excel打开为乱码,而用记事本打开则正常的状况,经研究,用下述方法可以解决该问题
关键方法:
1, 使用MultiByteToWideChar() API
2, 用CFile写入文件而非CStdioFile
3, 写入0xFF,0xFE至文件头部,以告知excel等外部编辑器打开的文本是unicode编码
4, CFile::Write()时注意写入的字节数
以导出.csv文件为例
//-- Tell execl that we are unicodechar tc[2]; tc[0] = (char)0xFF; tc[1] = (char)0xFE;ExportFile.Write(tc, 2);
//-- transform to unicode LPWSTR p_wchar = NULL;szLen = sz.GetLength();p_wchar = new WCHAR[++szLen];TransformedCount = MultiByteToWideChar(CP_ACP, 0, sz.GetBuffer(), szLen, p_wchar, szLen);sz.ReleaseBuffer();p_wchar[TransformedCount] = 0;ExportFile.Write(p_wchar, wcslen(p_wchar)*sizeof(WCHAR));
- VC中导出能被excel正确识别的UNICODE格式文本
- VC 导出的格式 Excel
- VC 导出的格式 Excel
- delphi中导出excel文本格式
- Repeater导出EXCEL 文本格式的解决方案
- GridView导出EXCEL文本格式
- 优化了一下Gridview导出EXCEL的代码,现在导出的Excel是正确的格式
- 显示文本的正确格式
- GridView 导出Excel 为文本格式
- 导出xml格式的excel时,必须处理excel不能识别的单引号
- JSP页面数字格式导出excel 为文本格式的设置
- 将windows下的ansi格式文本转换为linux下能识别的UTF-8格式
- Qt写入unicode编码格式的文本
- 导出指定格式的excel
- 如何在VB6中导出EXCEL、FOXPRO格式的表
- 如何在VB6中导出EXCEL、FOXPRO格式的表
- 如何在VB6中导出EXCEL、FOXPRO格式的表
- 如何在VB6中导出EXCEL、FOXPRO格式的表
- GridView导出到Excel出现的问题
- 大型互联网网站架构心得
- API汇总
- oracle启动和关闭
- 26步达到一天15000IP
- VC中导出能被excel正确识别的UNICODE格式文本
- debug book
- 匹配java double值的正则表达式
- Silverlight 和html 交互
- 创业真累!
- DOS文件转换成UNIX文件格式详解(转)
- EXTTLD--部署调试
- 开博咯..^_^
- CSDN开博第一天