用vs2008编写的
现在添加了一个读数据的按钮,代码如下:
====================================
CString filepathname;
CFileDialog dlg(TRUE);
if (dlg.DoModal()==IDOK)
{
filepathname=dlg.GetPathName();
//将文件数据读入到对应的数组中
}
CSpreadSheet SS(filepathname,"TestSheet");
//CSpreadSheet SS(_T("c:\\Test.xls"), "TestSheet");
CStringArray Rows, Column;
//清空列表框
m_AccessList.ResetContent();
for (int i = 1; i <= SS.GetTotalRows(); i++)
{
// 读取一行
SS.ReadRow(Rows, i);
CString strContents = _T("");
for (int j = 1; j <= Rows.GetSize(); j++)
{
if(j == 1)
strContents = Rows.GetAt(j-1);
else
strContents = strContents + " --> " + Rows.GetAt(j-1);
}m_AccessList.AddString(strContents);
}
===============================================================
能成功运行程序,点击后弹出文件浏览对话框,但是当我选择了一个文件后,
弹出错误:
------------------------------------
外部表不是预期的格式
非法的连接串属性FIRSTROWHASHAMES
非法的连接串属性。。

驱动程序的setconnectattr失败
-------------------------------------
为什么,我没用到数据库啊???
我是新手,请大家帮帮忙

解决方案 »

  1.   

    这不知道怎么用,用ADO方式读取吧
      

  2.   

    对EXCEL的操作类似于ACCESS,但不一样,所以存在数据库的概念。
      

  3.   

    CSpreadSheet这个类用的是odbc
    你用这个FIRSTROWHASHAMES是说第一行包含列标题 (字段名称)
    这个好像被忽略了,你可以看下这个网址
    http://support.microsoft.com/kb/288343/zh-cn
      

  4.   

    头都大了。
    如果我只用ole组件读取excel内容然后用内存保存数据行吗
      

  5.   

    现在发现打开的文件实际上是html然后更改了扩展名的,所以才不能打开
    然后我换了一个真正的xls文件,可以打开并读取了
    结果显示的是乱码,是文件出现问题还是程序代码这边的问题呢
      

  6.   

    而且只能读取xlsx,不能读取xls格式的
      

  7.   

    项目的字符集设置是“未设置”如果用unicode的话就有一大堆报错