作者bluela (Orz)
看板C_Sharp
标题Re: [问题] 请教一个datagridview跟excel的问题
时间Mon Jun 22 11:05:48 2009
: if (saveFileDialog1.ShowDialog() == DialogResult.OK)
: {
: Excel.ApplicationClass ExcelApp = new
: Excel.ApplicationClass();
: ExcelApp.Application.Workbooks.Add(Type.Missing);
:
: for (int i = 0; i < dataGridView1.Rows.Count; i++)
: {
: DataGridViewRow row = dataGridView1.Rows[i];
: for (int j = 0; j < row.Cells.Count; j++)
: {
: ExcelApp.Cells[i + 1, j + 1] = row.Cells[j].ToString();
:
: }
: }
: ExcelApp.ActiveWorkbook.SaveCopyAs(saveFileDialog1.FileName);
: ExcelApp.ActiveWorkbook.Saved = true;
:
: ExcelApp.Quit();
: ------------------------------------------------------------------------------
: 但是储存之後在excel的cell中
:
: 出现的却是DataGridViewTextBoxCell { ColumnIndex=0, RowIndex=0 }
:
: 请问该如何修正?我是用VS2008 谢谢
--------------------------------------------------------------------------------
: → pico2k:在ExcelApp.Cells[i + 1, j + 1]这一行下断点... 06/19 12:35
: → pico2k:i,j请在前面宣告 06/19 12:36
抱歉 看的不是很懂 请问断点是指?
i,j在前面宣告 是指不要在for loop时才宣告吗?@@
: 推 Cloud:没用过,不过看网路上的范例,好像要取得先取得workbook 06/19 13:33
: → Cloud:http://tinyurl.com/nfchlz 对照一下吧~~ 06/19 13:33
: → O2000:ExcelApp.C... = row.Cells[j].Value.ToString(); 06/22 10:30
ExcelApp.Cells[i + 1, j + 1] = row.Cells[j].ToString();
改成 ExcelApp.Cells[i + 1, j + 1] = row.Cells[j].Value.ToString();
在执行时会在这一行出现
"其他资讯:并未将物件参考设定为物件的执行个体"
请问我遗漏了什麽?看了很久 不是很明白
谢谢各位
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.20.170.237
1F:→ Cloud:可以去参考别人的程式呀..总比你看不明白的好.... 06/22 19:36
2F:→ bluela:自问自答 因为datagridview的cell中有null 谢谢大家! 06/23 00:36