C#中操作Excel(2)—— 新建、打开、保存和关闭Excel文档

        本文中主要介绍C#中对Excel文档进行新建、打开、保存、关闭的方法。在本次试验之前,先布置试验环境。
        首先,先新建一个winform的工程ExcelTest:

       然后,在界面中添加一个按钮,按钮文本就叫做“测试”:



        在按钮的点击事件处理函数中,我们先创建一个Application对象,并将对象的Visible属性设置为True:
private void button1_Click(object sender, EventArgs e)
{
Microsoft.Office.Interop.Excel._Application app = new Microsoft.Office.Interop.Excel.Application();
app.Visible = true;
}

一 新建文档

1.1 以默认方式进行新建

        调用app中Workbooks的Add()接口,可以实现按照默认方式新建一个Excel文档。Workbooks是文档Workbook文档类的集合,而Add()函数在参数为空的情况下可以按照默认参数新建一个Workbook对象并添加到Workbooks中。
app.Workbooks.Add();

        程序运行后界面如下:



1.2 按照自定义模板进行新建

        除了上述按照默认方式创建空文档之外,我们还可以给Add()函数传入word模板的方式创建一个新的文档,而这个文档其实就是我们提供的word模板的一个副本。
app.Workbooks.Add("D:\\Test.xlsx");

        运行后界面如下:



注意:这种方式只是在内存中创建了一个原模板的副本,对改副本所做的修改不会更新到原来的模板上。

二、打开文档

        利用app. Workbooks的Open()函数可以打开一个已经存在的文档,此时是在该文档上进行修改,因此任何的改动都会生效。该函数会返回一个Workbook对象,它就是我们操作的Excel文档对象,后续基本一些其他操作都与它有关。
Workbook book=app.Workbooks.Open("D:\\Test.xlsx ");
        运行后界面如下:

三、增加一个sheet

        调用Workbook的Add()的接口可以为文档增加一个,如图所示,默认情况下打开的Excel文件有3个Sheet,我们用Workbook的Add()的接口增加了一个Sheet
book.Worksheets.Add();

四、保存文档

        Workbook的Save()接口,可以将修改保存到已打开的文档。
book.Save();

五、退出Excel

app.Quit();

Github位置:
https://github.com/HymanLiuTS/OfficeTestByC-
克隆本项目:
git clone git@github.com:HymanLiuTS/OfficeTestByC-.git
获取本文源代码:
git checkout L11
  • 6
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
首先,需要引用Microsoft.Office.Interop.Excel命名空间,然后在窗体添加一个DataGridView和三个按钮,分别对应保存、查看和删除操作。 在保存操作,我们需要打开Excel模板文件,将DataGridView的数据写入到Excel文件,然后保存关闭Excel文件。代码如下: ```csharp using Excel = Microsoft.Office.Interop.Excel; private void btnSave_Click(object sender, EventArgs e) { Excel.Application excel = new Excel.Application(); Excel.Workbook workbook = excel.Workbooks.Open(@"C:\Path\To\Excel\Template.xlsx"); Excel.Worksheet worksheet = workbook.Worksheets["Sheet1"]; for(int i = 0; i < dataGridView1.Rows.Count; i++) { for(int j = 0; j < dataGridView1.Columns.Count; j++) { worksheet.Cells[i + 2, j + 1] = dataGridView1.Rows[i].Cells[j].Value.ToString(); } } workbook.Save(); workbook.Close(); excel.Quit(); } ``` 在查看操作,我们需要打开Excel模板文件,读取其的数据,然后将数据显示在DataGridView。代码如下: ```csharp private void btnView_Click(object sender, EventArgs e) { Excel.Application excel = new Excel.Application(); Excel.Workbook workbook = excel.Workbooks.Open(@"C:\Path\To\Excel\Template.xlsx"); Excel.Worksheet worksheet = workbook.Worksheets["Sheet1"]; int rowCount = worksheet.UsedRange.Rows.Count; int columnCount = worksheet.UsedRange.Columns.Count; for(int i = 2; i <= rowCount; i++) { DataGridViewRow row = new DataGridViewRow(); for(int j = 1; j <= columnCount; j++) { if(worksheet.Cells[i, j].Value != null) row.Cells.Add(new DataGridViewTextBoxCell { Value = worksheet.Cells[i, j].Value.ToString() }); else row.Cells.Add(new DataGridViewTextBoxCell { Value = "" }); } dataGridView1.Rows.Add(row); } workbook.Close(); excel.Quit(); } ``` 在删除操作,我们需要删除Excel模板文件。代码如下: ```csharp private void btnDelete_Click(object sender, EventArgs e) { File.Delete(@"C:\Path\To\Excel\Template.xlsx"); } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值