我想更新我的 gridview,然后将 gridview 内容保存在我的 csv 或 xlsx 文件的 continue 中。之后再次更新我的gridview,然后将内容保存在文件的继续:
例子 :
网格视图内容1:
保存在:第 1 列 - 255
网格视图内容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!");
}