C#中如何将表单另存为Excel
时间: 2024-05-14 11:19:16 浏览: 92
你可以使用 Microsoft Office Interop 来将 C# WinForm 的表单保存为 Excel 文件。以下是一个示例代码:
```csharp
using Microsoft.Office.Interop.Excel;
using System.Reflection;
private void saveToExcelButton_Click(object sender, EventArgs e)
{
// 创建 Excel 操作对象
Microsoft.Office.Interop.Excel.Application xlsxApp = new Microsoft.Office.Interop.Excel.Application();
Workbook workbook = xlsxApp.Workbooks.Add(XlSheetType.xlWorksheet);
Worksheet worksheet = (Worksheet)xlsxApp.ActiveSheet;
// 将表单数据写入 Excel 中
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
for (int j = 0; j < dataGridView1.Columns.Count; j++)
{
worksheet.Cells[i + 1, j + 1] = dataGridView1.Rows[i].Cells[j].Value;
}
}
// 保存 Excel 文件
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.Filter = "Excel 文件|*.xlsx";
saveFileDialog.Title = "保存为 Excel 文件";
saveFileDialog.ShowDialog();
if (saveFileDialog.FileName != "")
{
workbook.SaveAs(saveFileDialog.FileName, XlFileFormat.xlOpenXMLWorkbook, Missing.Value,
Missing.Value, false, false, XlSaveAsAccessMode.xlNoChange,
XlSaveConflictResolution.xlUserResolution, true, Missing.Value, Missing.Value, Missing.Value);
}
// 关闭 Excel 操作对象
workbook.Close(true, Missing.Value, Missing.Value);
xlsxApp.Quit();
}
```
这个示例代码将 WinForm 中的一个 DataGridView 控件的数据写入到 Excel 文件中。你可以根据你的需求进行修改。请注意,你需要在 Visual Studio 中添加对 Microsoft.Office.Interop.Excel 的引用才能使用这个示例代码。
阅读全文