C#编程学习49:将数据写入到excel中
2022/3/19 17:27:36
本文主要是介绍C#编程学习49:将数据写入到excel中,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
本文为
C#编程学习27: C#操作Excel从入门到精通_m1m2m3mmm的博客-CSDN博客
中单独提炼出的新建Excel文件并导出数据的专门总结;更全面的总结可以上一篇。
1 添加引用及名称空间
添加引用
添加名称空间
//用到的名空间 using Excel = Microsoft.Office.Interop.Excel; using System.Runtime.InteropServices;//导入dll
2 实现代码及逻辑
2.1 代码框架
这段代码主要干了以下几个事情:
-
创建excel应用,关闭excel;
-
在excel中创建workbook,对于本身不存在需要程序新创建的excel文件,不能使用myApp.Workbooks.Open(str)方法,否则会报HRESULT:0x800A03EC异常
-
并在workbook中添加worksheets
-
将worksheets另存为指定目录
-
关闭workbook
//打开实验数据
string str = @“E:C#Example200LearnExcelLearnExceldata.xlsx”;
Excel.Workbook wb = myApp.Workbooks.Add(true);
Excel.WorkShee ws = myApp.WorkSheets.Add();//…
ws.SaveAs(str);
//关闭数据表
wb.Close();myApp.Quit();
myApp = null;
System.Runtime.InteropServices.Marshal.ReleaseComObject(myApp);
2.2 创建数据表
一般我们汇报数据保存在DataTable对象中,这一部分我们介绍DataTable使用的一些基本知识。
-
创建DataTable对象并生成列头
DataTable dt = new DataTable(); //添加表头 dt.Columns.Add("姓名"); dt.Columns.Add("年龄"); dt.Columns.Add("性别");
-
创建新行并将其添加到DataTable对象中
DataRow dr = dt.NewRow();
dr[“姓名”] = “张三”;
dr[“年龄”] = “18”;
dr[“性别”] = “女”;
dt.Rows.Add(dr);
2.3 将DataTable对象写入到worksheets中
-
在第一行写表头文字
ws.Cells[1,1] = “姓名”;
ws.Cells[1,2] = “年龄”;
ws.Cells[1,3] = “性别”; -
将dt对象的数据写入excel,注意在Excel中,行和列的编号是从1开始的
int rowIndex = 2; foreach (DataRow row in dt.Rows) { for (int colIndex = 0; colIndex < dt.Columns.Count; colIndex++) { ws.Cells[rowIndex, colIndex + 1] = row[colIndex].ToString(); } rowIndex++; }
3 完整代码
//打开实验数据 string str = @"E:C#Example200LearnExcelLearnExceldata.xlsx"; Excel.Workbook wb = myApp.Workbooks.Add(true); Excel.WorkShee ws = myApp.WorkSheets.Add(); DataTable dt = new DataTable(); //添加表头 dt.Columns.Add("姓名"); dt.Columns.Add("年龄"); dt.Columns.Add("性别"); // 添加一行数据 DataRow dr = dt.NewRow(); dr["姓名"] = "张三"; dr["年龄"] = "18"; dr["性别"] = "女"; dt.Rows.Add(dr); // 往表格中写入第一行数据,即表头 ws.Cells[1,1] = "姓名"; ws.Cells[1,2] = "年龄"; ws.Cells[1,3] = "性别"; // 往表格中写入数据行 int rowIndex = 2; foreach (DataRow row in dt.Rows) { for (int colIndex = 0; colIndex < dt.Columns.Count; colIndex++) { ws.Cells[rowIndex, colIndex + 1] = row[colIndex].ToString(); } rowIndex++; } ws.SaveAs(str); //关闭数据表 wb.Close(); myApp.Quit(); myApp = null; System.Runtime.InteropServices.Marshal.ReleaseComObject(myApp);
这篇关于C#编程学习49:将数据写入到excel中的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2022-03-01沐雪多租宝商城源码从.NetCore3.1升级到.Net6的步骤
- 2024-11-18微软研究:RAG系统的四个层次提升理解与回答能力
- 2024-11-15C#中怎么从PEM格式的证书中提取公钥?-icode9专业技术文章分享
- 2024-11-14云架构设计——如何用diagrams.net绘制专业的AWS架构图?
- 2024-05-08首个适配Visual Studio平台的国产智能编程助手CodeGeeX正式上线!C#程序员必备效率神器!
- 2024-03-30C#设计模式之十六迭代器模式(Iterator Pattern)【行为型】
- 2024-03-29c# datetime tryparse
- 2024-02-21list find index c#
- 2024-01-24convert toint32 c#
- 2024-01-24Advanced .Net Debugging 1:你必须知道的调试工具