C#怎么将listview中的数据保存到excel
时间: 2023-09-28 20:05:56 浏览: 140
在 C# 中,可以使用 Microsoft.Office.Interop.Excel 库来操作 Excel 文件。具体步骤如下:
1. 在项目中添加对 Microsoft.Office.Interop.Excel 的引用。
2. 创建 Excel 应用程序对象。
```csharp
using Excel = Microsoft.Office.Interop.Excel;
Excel.Application excel = new Excel.Application();
```
3. 创建工作簿对象,并添加一个工作表。
```csharp
Excel.Workbook workbook = excel.Workbooks.Add();
Excel.Worksheet worksheet = workbook.Sheets.Add();
```
4. 将 ListView 中的数据写入 Excel 工作表中。
```csharp
// 写入表头
for (int i = 0; i < listView.Columns.Count; i++)
{
worksheet.Cells[1, i + 1] = listView.Columns[i].Text;
}
// 写入数据
for (int i = 0; i < listView.Items.Count; i++)
{
for (int j = 0; j < listView.Columns.Count; j++)
{
worksheet.Cells[i + 2, j + 1] = listView.Items[i].SubItems[j].Text;
}
}
```
5. 保存 Excel 文件。
```csharp
workbook.SaveAs("data.xlsx");
```
6. 关闭 Excel 应用程序。
```csharp
excel.Quit();
```
完整代码示例:
```csharp
using Excel = Microsoft.Office.Interop.Excel;
private void SaveToExcel(ListView listView)
{
Excel.Application excel = new Excel.Application();
Excel.Workbook workbook = excel.Workbooks.Add();
Excel.Worksheet worksheet = workbook.Sheets.Add();
// 写入表头
for (int i = 0; i < listView.Columns.Count; i++)
{
worksheet.Cells[1, i + 1] = listView.Columns[i].Text;
}
// 写入数据
for (int i = 0; i < listView.Items.Count; i++)
{
for (int j = 0; j < listView.Columns.Count; j++)
{
worksheet.Cells[i + 2, j + 1] = listView.Items[i].SubItems[j].Text;
}
}
// 保存文件
workbook.SaveAs("data.xlsx");
// 关闭 Excel 应用程序
excel.Quit();
}
```
在调用该函数时,传入需要保存的 ListView 控件即可。
阅读全文