本文为

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#\Example200\LearnExcel\LearnExcel\data.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#\Example200\LearnExcel\LearnExcel\data.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中相关推荐

  1. matlab将数据写入到excel中

    第一种: 将数据转化为cell块,从A1单元格写起 % xlswrite('info_10*2.xls ','sheet1','B2:B4') clear; clc; a=[1 2 3 4 5 6 ] ...

  2. VBA多个WORD文档表格数据写入到EXCEL中

    工作提示: 1.当前目录下有多个相同的WORD表格: 2.在EXCEL中新建VBA项目: 3.将WORD表格中的数据读取写入到一条EXCEL记录中去. '目录下多个WORD表格批量处理 Sub Rea ...

  3. python 读取多个excel数据写入同一个excel中

    一.将excel数据源存储到同一个excel的不同sheet 中 例如A.xlsx 中有test1,test2 两张sheet.B.xlsx中有test3 一张sheet,存储到C.xlsx中后,C有 ...

  4. python处理多个excel数据_python 读取多个excel数据写入同一个excel中

    一.将excel数据源存储到同一个excel的不同sheet 中 例如A.xlsx 中有test1,test2 两张sheet.B.xlsx中有test3 一张sheet,存储到C.xlsx中后,C有 ...

  5. 使用python爬取网站数据并写入到excel中

    文章目录 前言 一.使用python爬取网上数据并写入到excel中 例子一: 例子二: 二.工具类 总结 前言 记录一下使用python将网页上的数据写入到excel中 一.使用python爬取网上 ...

  6. Spark-SQL从MySQL中加载数据以及将数据写入到mysql中(Spark Shell方式,Spark SQL程序)

    1. JDBC Spark SQL可以通过JDBC从关系型数据库中读取数据的方式创建DataFrame,通过对DataFrame一系列的计算后,还可以将数据再写回关系型数据库中. 1.1. 从MySQ ...

  7. 如何在MATLAB中把变量填到Word中,matlab数据写入现有excel表格-如何将matlab中变量写入excel...

    如何将matlab 中的数据写入现有的word 表格中? 你可以这样做: (1)先在matlab里面,把相关数据导出.保存成csv格式的文件:比如说,你可以在workspace视图底下,把相关的变量直 ...

  8. 用MATLAB将矩阵数据写入txt文件中,打开乱码原因

    MATLAB将数据写入txt文件中乱码的原因,是将数据按照二进制文件写入txt文件,所以打开会出现乱码的情况,只需要把 fid1=fopen('piture.txt','w'); 换成,就可以了 fi ...

  9. java 往excel中写数据库,poi将数据写入excel表格-怎么用java把数据库里的数据写入到excel表中...

    怎么用java把数据库里的数据写入到excel表中 你是想读取excel内容,然后整合一下数据,然后再生成一个新的excel吧 package aa; import java.io.FileInput ...

最新文章

  1. ios 常见性能优化
  2. 运维7年,对Linux的经验总结
  3. 使用jQuery的.css()和.attr()方法设置元素left属性的注意点
  4. ECCV2020优秀论文汇总|涉及点云处理、3D检测识别、三维重建、立体视觉、姿态估计、深度估计、SFM等方向...
  5. Windows Phone实用开发技巧(1):保存图片及加载图片
  6. JAVA/PHP/C#版RSA验签--转
  7. java多线程笔记补充之线程的生命周期
  8. mysql主从配置对解决并发有用_MySQL主从配置,读写分离
  9. CMDB内功心法,助我登上运维之巅
  10. 设计模式 - 建造者模式
  11. openg离线包_OpenGL离线渲染和缓冲区对象
  12. NVIDIA GPU显卡介绍
  13. 教你如何去掉桌面图标的蓝底
  14. 突破常规 - “不一样”的 PN/PN 耦合器功能
  15. Ubuntu安装输入法却不能切换输入法
  16. 绘画教程:如何轻松画出皮肤的挤压感
  17. 什么是信息流?如何投放信息流广告?如何收费?
  18. 测试点击屏幕次数的软件_闪电点击app下载-闪电自动点击 安卓版v1.3.2
  19. [MicroPython]TurniBit开发板DIY自动窗帘模拟系统
  20. python - 集合:华为笔试题

热门文章

  1. 大道至简之一:如何准确把握趋势
  2. Python 之嵌套列表
  3. Android 2⃣️day
  4. 用户请求网站提示 网络连接错误
  5. 区块链 试题_区块链金融-中国大学mooc-试题题目及答案
  6. Cent OS 7安装redis
  7. Camera AF和FF
  8. .Net Core DI依赖注入:一个接口注入多个实现类
  9. 数字定时误差检测算法系列之 ———时域Gardner算法
  10. word 添加页眉页脚,添加不同页码