VC++读取execl时出现的问题:

[复制链接]
查看11 | 回复1 | 2010-5-19 10:08:27 | 显示全部楼层 |阅读模式
用ADO读取Excel文件,对于绝大多数单元格内容(都是文本格式)可以读出,但是对于某些个别的单元格读出为NULL.
我发现在各个单元格中如果是数字但是被当作文本显示时会在单元格左上角出现一个绿色的标记:数字为当作文字处理。这样的单元格可以被ADO顺利读出,而我这里提问的那些特别的单元格如果是数字则没有绿色的标记出现,就读成F2了。
速求如何解决。我的程序如下:
CSpreadSheet SS("c:\\数据上传专用.xls", "20100512");
CStringArray Rows, Column;
int n = SS.GetTotalRows();//一共几行
for (int i = 1; i <= n; i++)
{
// 读取一行
SS.ReadRow(Rows, i);
CString strContents = "";
int m = Rows.GetSize();
for (int j = 1; j <= m; j++)
{
if(j == 1)
{

strContents = Rows.GetAt(j-1);
}
else
{

CString lei=Rows.GetAt(j-1);

strContents = strContents + "+" + lei;
}
}

AfxMessageBox(strContents);
}
其中CString lei为获取的第二列的数据,第一行第一列获取的数据为“F2”,但是其他的行的第二列获取到的为execl中的值,不知为什么?

回复

使用道具 举报

千问 | 2010-5-19 10:08:27 | 显示全部楼层
那这样的话,就把你的EXCEL都改成左上角有个绿色的标记的格式,你的程序就没问题了.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行