调试-》属性页-》字符集,改成-未设置。(vs2015的代码,加入到vs2010中,字符集不匹配)
file.write("汉字",4);后面的数字字节一定要准确。一个汉字2个字节,符号与字母1个字节,这样写入excel就不会乱码。
void CDataView::OnBnClickedBtnExporttoexcel()
{
CTime time = CTime::GetCurrentTime();
CString strRptTime = time.Format("%Y%m%d%H%M%S");
CString strRptTime1 = time.Format("%Y%m%d");
// 实现存盘
CString buff0[1024], buff1[1024], buff2[1024], buff3[1024], buff4[1024], buff5[1024];
CString fileName = "d:\\" + strRptTime + ".xls";//保存路径是d:盘根目录
CFile file(fileName, CFile::modeCreate | CFile::modeReadWrite | CFile::shareExclusive);
// CFile file(fileName, CFile::modeCreate | CFile::modeReadWrite | CFile::typeText);
file.Write("表面沾污检测\n", 14); //一个汉字2个字节,斜杆符号与字母1个字节,所以共:14,字节数对应,就不会乱码
file.Write("生成时间:" + strRptTime1 + "\n", 17);
file.Write("\n", 1);
file.Write("\n", 1);
//file.Write("\n", 1);
//file.Write("\n", 1);
//file.Write(strRptTime1+"\n", 10);
//file.Write("\t\n", 10);
file.Write("序号\t桶编号\t面\t坐标位置\t数据\t时间\r\n", 36);
int i = 0; int j = 0; j = m_Grid.GetItemCount();
if (j > 0)
{
for (i = 0; i
关注
打赏