【152】C# 操作 Excel 杂记
前面写了一篇博文是关于 C# 操作 Excel 的文章,但是里面有些中规中矩,搞的我不知道怎么写了,所以另开一帖。。
注意:基本应用如下所示!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | //首先是引用 using Excel = Microsoft.Office.Interop.Excel; //然后就是实例化 Excel 应用 Excel.Application ex = new Excel.Application(); Excel.Workbook eWorkbook; Excel.Worksheet eWorksheet; //窗体加载的时候,实例化工作簿(通过打开一个 Excel 文件来实现)和工作表, //注意工作表数组中,第一个工作表就是Sheets[1] private void Form1_Load( object sender, EventArgs e) { eWorkbook = ex.Workbooks.Open(Directory.GetCurrentDirectory() + @"\config.xlsx" , Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); eWorksheet = eWorkbook.Sheets[1]; } //为工作表中的单元格赋值 private void cb_area_SelectedIndexChanged( object sender, EventArgs e) { eWorksheet.Range[ "C2:C2" ].Value = cb_area.Text; } //在窗体关闭的时候,保存并关闭工作簿,同时推出 Excel 程序 private void Form1_FormClosing( object sender, FormClosingEventArgs e) { eWorkbook.Save(); eWorkbook.Close(); ex.Quit(); } |
※ 表格赋值方法:(总结下来,就是后面带着“.Value”就不会出错了)
1、用 Cells[rowIndex, columnIndex] 来赋值
1 2 3 4 5 6 7 | //为变量赋值 str = eWorksheet.Cells[2, 3].Value; str = eWorksheet.Cells[2, 3].Value.ToString(); //为单元格赋值 eWorksheet.Cells[2, 3] = str; eWorksheet.Cells[2, 3].Value = str; |
2、用 Range["A1:A1"] 来赋值
1 2 3 4 5 6 | //为变量赋值 str = eWorksheet.Range[ "C2:C2" ].Value; str = eWorksheet.Range[ "C2:C2" ].Value.ToString(); //为单元格赋值 eWorksheet.Range[ "C2:C2" ].Value = str; |
2014年11月10日
- 引用:Microsoft.Office.Interop.Excel
- eWorksheet.Name:sheet的名称修改
- Sheets.Add 方法 (Excel)
参考:Sheets.Add 方法 (Excel)
参考:C#操作Excel - 会默认有一个sheet,之后添加的sheet就是第二个
12
eWorkbook.Sheet.Add(eWorksheet, nothing, nothing, nothing);
//在eWorksheet之前添加一个新sheet
eWorkbook.Sheet.Add(nothing, eWorksheet, nothing, nothing);
//在eWorksheet之后添加一个新sheet
注意:sheet的索引是从1开始的。。
参考:不安装excel使用c#创建excel文件 - 单元格合并
123Excel.Range eRange = eWorksheet.get_Range(
"A1"
,
"C1"
);
eRange.MergeCells =
true
;
eRange.Value =
"还好快乐"
;
- 单元格居中对齐
1eRange.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
1eWorksheet.Cells.Columns.AutoFit();
- Excel文本最后一行
1int
row = eWorksheet.get_Range(
"B65535"
, Type.Missing).get_End(Excel.XlDirection.xlUp).Row;
- 判断文件是否运行,对于存成Excel文件时候,若是覆盖的文件已经打开,则没法实现,按照操作
12345678910try
{
FileStream fs = File.OpenWrite(path);
//path为文件路径
fs.Close();
}
catch
(System.Exception ex)
{
MessageBox.Show(ex.Message);
//显示错误信息
return
;
//下面的代码不运行
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)