我想更新我的gridview,然後將gridview內容保存到我的csv或xlsx文件中。該更新我的GridView一遍,然後保存在內容之後繼續文件:保存爲CSV或XLSX文件
例子:
的GridView內容1:
保存在:列1 - 255
的GridView內容2:
保存爲:列256 - 500
...
我怎樣才能保存在繼續相同的文件? (不要覆蓋在過去的專欄)
防爆我的英語不好:)
我的救命代碼:
Microsoft.Office.Interop.Excel.ApplicationClass ExcelApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
ExcelApp.Application.Workbooks.Add(Type.Missing);
ExcelApp.Columns.ColumnWidth = 20;
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
for (int j = 0; j < dataGridView1.Rows[0].Cells.Count; j++)
{
ExcelApp.Cells[i + 1, j + 1] = dataGridView1.Rows[i].Cells[j].Value.ToString();
}
}
if (!textBox1.Text.Contains(".xlsx"))
{
textBox1.Text = textBox1.Text.Replace(".xls", ".xlsx");
}
ExcelApp.ActiveWorkbook.SaveCopyAs(textBox1.Text);
ExcelApp.ActiveWorkbook.Saved = true;
ExcelApp.Quit();
而且我從Excel導入文件(選擇範圍列的是255):
string connectionString = String.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=""Excel 8.0;HDR=NO;IMEX=1;""", txtPath.Text);
string query = String.Format("select * from [CA:DA]", "Sheet1");
OleDbDataAdapter dataAdapter = new OleDbDataAdapter(query, connectionString);
DataSet dataSet = new DataSet();
dataAdapter.Fill(dataSet);
dataGridView1.DataSource = dataSet.Tables[0];
這對於大的excel文件來說很容易!它有15000列!
try
{
for (int row = 0; row <= dataGridView1.RowCount-1; row++)
{
for (int cell = 0; cell <= dataGridView1.Rows[0].Cells.Count-1; cell++)
{
string cellst = dataGridView1.Rows[row].Cells[cell].Value.ToString();
dataGridView1.Rows[row].Cells[cell].Value = Int64.Parse(cellst) + 1;
}
}
}
catch
{
MessageBox.Show("Data Format Error. Please Review your file for not numeric data!");
}
你的gridview在哪裏?在您正在開發的另一個應用程序中? – Dan 2012-04-13 09:39:08
是的,是在一個單獨的應用程序 – 2012-04-13 09:52:55
你在開發你的應用程序?你如何訪問Excel的?您是否在使用C#並通過互操作獲取Excel? – Dan 2012-04-13 10:01:47