本项目提供一套高效的C# WinForm代码库,用于实现与Excel文件的交互式操作。它涵盖了读取、写入以及数据处理等多种功能,适用于需要自动化处理大量Excel表格的企业级应用开发。
以下是代码的重写版本:
```csharp
private void button1_Click(object sender, System.EventArgs e)
{
// 保存为EXCEL文件
if (this.listView1.Items.Count < 1) return;
try
{
Excel.ApplicationClass MyExcel = new Excel.ApplicationClass();
MyExcel.Visible = true;
if(MyExcel == null)
{
MessageBox.Show(无法启动 EXCEL!,信息提示, MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
Excel.Workbooks MyWorkBooks = MyExcel.Workbooks;
Excel.Workbook MyWorkBook = MyWorkBooks.Add(Type.Missing);
Excel.Worksheet MyWorkSheet = (Excel.Worksheet)MyWorkBook.Worksheets[1];
// 设置表头
Excel.Range headerRange = MyWorkSheet.get_Range(A1, C1);
object[] headers = {姓名,专业,毕业院校};
headerRange.Value2 = headers;
if(this.listView1.Items.Count > 0)
{
int itemCount = this.listView1.Items.Count;
// 初始化数据数组
object[,] data = new Object[itemCount,3];
foreach(ListViewItem item in this.listView1.Items)
{
data[item.Index, 0] = item.Text;
data[item.Index, 1] = item.SubItems[1].Text;
data[item.Index, 2] = item.SubItems[2].Text;
}
// 设置数据范围
Excel.Range rangeWithData = MyWorkSheet.get_Range(A2, Type.Missing);
rangeWithData.get_Resize(itemCount,3).Value2 = data;
// 自动调整列宽
rangeWithData.EntireColumn.AutoFit();
}
}
catch(Exception Err)
{
MessageBox.Show($调用 EXCEL 程序时出现错误!{Err.Message}, 信息提示, MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
```
该代码段主要功能是将列表视图中的数据导出到Excel文件中。当按钮被点击后,程序会检查`listView1`是否包含任何项;如果有,则创建一个新的 Excel 工作簿,并设置表头和数据内容。如果在操作过程中遇到问题(例如无法启动 Excel),则显示错误信息并返回。