發信人bluela.bbs@ptt.cc (Orz),
看板C_Sharp
標 題[問題] 請教一個datagridview跟excel的問題
發信站批踢踢實業 (Fri Jun 19 11:10:21 2009)
轉信站ptt2!news.ntu!ptt
如題 我想將datagridview的data存到excel中
我的寫法是
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();
------------------------------------------------------------------------------
(datagridview1是datagridview的name)
但是儲存之後在excel的cell中
出現的卻是DataGridViewTextBoxCell { ColumnIndex=0, RowIndex=0 }
而不是我期望的內容
請問該如何修正?我是用VS2008 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.20.150.117
→ pico2k:在ExcelApp.Cells[i + 1, j + 1]這一行下斷點... 06/19 12:35
→ pico2k:i,j請在前面宣告 06/19 12:36
→ bluela:抱歉 看的不是很懂 請問斷點是指?i,j在前面宣告 是指不要在 06/19 12:53
→ bluela:for loop時才宣告嗎?@@ 06/19 12:53
推 Cloud:沒用過,不過看網路上的範例,好像要取得先取得workbook 06/19 13:33
→ O2000:ExcelApp.C... = row.Cells[j].Value.ToString(); 06/22 10:30