使用 GemBox 将数据从 DataGridView 导入现有 Excel 文件
Importing data from DataGridView to existing Excel file using GemBox
我对编程和 GemBox 还很陌生。我发现这段代码将数据从 DataGridView 插入到现有的 Excel sheet 中,带有页眉和页脚。代码会发生什么,它完全替换了现有的 excel 文件并删除了所有页眉和页脚。我想要做的只是插入从单元格 A:9 开始的数据,而不从其他 excel 单元格中删除预先存在的数据。有没有办法使用 GemBox 来做到这一点?
private void replace_Click(object sender, EventArgs e)
{
var saveFileDialog = new SaveFileDialog();
saveFileDialog.Filter = "XLSX files (*.xlsx)|*.xlsx";
saveFileDialog.FilterIndex = 3;
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
var workbook = new ExcelFile();
var worksheet = workbook.Worksheets.Add("Sheet1");
var options = new ImportFromDataGridViewOptions();
options.ColumnHeaders = false;
options.StartRow = 8;
options.StartColumn = 0;
DataGridViewConverter.ImportFromDataGridView(worksheet, this.dataGridView1, options);
workbook.Save(saveFileDialog.FileName);
}
}
如有任何帮助,我们将不胜感激。
使用这个将数据从 DataGridView
导入现有的 Excel sheet:
private void replace_Click(object sender, EventArgs e)
{
var saveFileDialog = new SaveFileDialog();
saveFileDialog.Filter = "XLSX files (*.xlsx)|*.xlsx";
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
var workbook = ExcelFile.Load("Path to your existing Excel file.");
var worksheet = workbook.Worksheets.ActiveWorksheet;
var options = new ImportFromDataGridViewOptions("A9");
DataGridViewConverter.ImportFromDataGridView(worksheet, this.dataGridView1, options);
workbook.Save(saveFileDialog.FileName);
}
}
注意,这将从单元格 A9 开始导入数据,并替换导入完成范围内的任何现有数据。
换句话说,如果您的 Excel 文件在单元格 A9、B9 等中已有一些数据。它们最终将被覆盖。
如果您不想这样,则插入空行以为 DataGridView
数据腾出空间,如下所示:
worksheet.Rows.InsertEmpty(8, this.dataGridView1.Rows.Count);
var options = new ImportFromDataGridViewOptions("A9");
DataGridViewConverter.ImportFromDataGridView(worksheet, this.dataGridView1, options);
我对编程和 GemBox 还很陌生。我发现这段代码将数据从 DataGridView 插入到现有的 Excel sheet 中,带有页眉和页脚。代码会发生什么,它完全替换了现有的 excel 文件并删除了所有页眉和页脚。我想要做的只是插入从单元格 A:9 开始的数据,而不从其他 excel 单元格中删除预先存在的数据。有没有办法使用 GemBox 来做到这一点?
private void replace_Click(object sender, EventArgs e)
{
var saveFileDialog = new SaveFileDialog();
saveFileDialog.Filter = "XLSX files (*.xlsx)|*.xlsx";
saveFileDialog.FilterIndex = 3;
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
var workbook = new ExcelFile();
var worksheet = workbook.Worksheets.Add("Sheet1");
var options = new ImportFromDataGridViewOptions();
options.ColumnHeaders = false;
options.StartRow = 8;
options.StartColumn = 0;
DataGridViewConverter.ImportFromDataGridView(worksheet, this.dataGridView1, options);
workbook.Save(saveFileDialog.FileName);
}
}
如有任何帮助,我们将不胜感激。
使用这个将数据从 DataGridView
导入现有的 Excel sheet:
private void replace_Click(object sender, EventArgs e)
{
var saveFileDialog = new SaveFileDialog();
saveFileDialog.Filter = "XLSX files (*.xlsx)|*.xlsx";
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
var workbook = ExcelFile.Load("Path to your existing Excel file.");
var worksheet = workbook.Worksheets.ActiveWorksheet;
var options = new ImportFromDataGridViewOptions("A9");
DataGridViewConverter.ImportFromDataGridView(worksheet, this.dataGridView1, options);
workbook.Save(saveFileDialog.FileName);
}
}
注意,这将从单元格 A9 开始导入数据,并替换导入完成范围内的任何现有数据。
换句话说,如果您的 Excel 文件在单元格 A9、B9 等中已有一些数据。它们最终将被覆盖。
如果您不想这样,则插入空行以为 DataGridView
数据腾出空间,如下所示:
worksheet.Rows.InsertEmpty(8, this.dataGridView1.Rows.Count);
var options = new ImportFromDataGridViewOptions("A9");
DataGridViewConverter.ImportFromDataGridView(worksheet, this.dataGridView1, options);