【紧急求助】excel 导入到 Listview的问题

csdhd 2011-04-16 09:22:01
我用一下代码导入EXCEL文件,并且已经把所有单元格的格式全部设置为文本:
                   string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FileName + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'";
OleDbConnection OleConn = new OleDbConnection(strConn);
OleConn.Open();
String sql = "SELECT * FROM [Sheet1$]";//可是更改Sheet名称,比如sheet2,等等

OleDbDataAdapter OleDaExcel = new OleDbDataAdapter(sql, OleConn);
DataSet OleDsExcle = new DataSet();
OleDaExcel.Fill(OleDsExcle, "Sheet1");
OleConn.Close();
int rowCount = OleDsExcle.Tables["Sheet1"].Rows.Count;
int columnCount = OleDsExcle.Tables["Sheet1"].Columns.Count;
myListView.BeginUpdate();
myListView.Items.Clear();
string[] lvitem = new string[columnCount-1];
for (int i = 0; i < rowCount; i++)
{
for (int j = 0; j < columnCount-1; j++)
{
lvitem[j] =OleDsExcle.Tables["Sheet1"].Rows[i][j+1].ToString();
}
ListViewItem lvi = new ListViewItem(lvitem);
myListView.Items.Add(lvi);
}
myListView.EndUpdate();



发现以下奇怪的现象:第一列读出正常,第二列中所有有英文字符的单元格全部读出都是空白,百思不得其解,急求高手指教!
另外再求教一个,如何让ListView的单元显示网格啊?
excel的源文件:

导入后的状态:
...全文
189 8 点赞 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
楼主解决了吗?怎么解决的呀?求解呀
  • 打赏
  • 举报
回复
ltxyxj 2011-04-17
[Quote=引用 3 楼 xcc610 的回复:]
呵呵,这个问题是因为你的excel数据密码列格式不一致的问题,有些是数字型,有些是文本型(就是那些左上角带绿色小三角的)。
[/Quote]
引用错了,呵呵,同意!!!!
  • 打赏
  • 举报
回复
ltxyxj 2011-04-17
[Quote=引用 2 楼 haohaojiazu 的回复:]
我也在做关于txt、excel、xml数据导入的问提,不过是要导入数据库。关注........
[/Quote]
同意三楼
  • 打赏
  • 举报
回复
csdhd 2011-04-17
[Quote=引用 3 楼 xcc610 的回复:]
呵呵,这个问题是因为你的excel数据密码列格式不一致的问题,有些是数字型,有些是文本型(就是那些左上角带绿色小三角的)。
[/Quote]

不好办啊,excel文档不好控制,能不能在导入的时候想想办法强制转换成文本?
  • 打赏
  • 举报
回复
xcc610 2011-04-17
呵呵,这个问题是因为你的excel数据密码列格式不一致的问题,有些是数字型,有些是文本型(就是那些左上角带绿色小三角的)。
  • 打赏
  • 举报
回复
labilaoxin 2011-04-17
这个问题倒是新鲜,关注一下!
  • 打赏
  • 举报
回复
haohaojiazu 2011-04-17
我也在做关于txt、excel、xml数据导入的问提,不过是要导入数据库。关注........
  • 打赏
  • 举报
回复
相关推荐
发帖
C#
创建于2007-09-28

10.6w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2011-04-16 09:22
社区公告

让您成为最强悍的C#开发者