NPOI读写Excel sheet操作
QueryInfo dataInfo = new QueryInfo();
dataInfo.CustomSQL = $@"
select t1.name name,t1.url url from sys_menu t1
start with t1.parent_id =
(
select t2.id from sys_menu t2 where t2.name ='交易源数据' )
connect by t1.parent_id=t1.id
";
var descpsInfo = new QueryInfo(); var dataTable = Dao.ExcuteDataSet(dataInfo).Tables[];
foreach (DataRow row in dataTable.Rows)
{
var china_name = row["name"]==null?"":row["name"].ToString();
var en_name = Holworth.Utility.ListAndTableExtension.ConvertToTableColumnName
(row["url"].ToString().Split('/')[row["url"].ToString().Split('/').Length - ].Replace("Manage.aspx", ""));
descpsInfo.CustomSQL = string.Format(@"
select (select t.COMMENTS from all_tab_comments t where t.TABLE_NAME='{0}' AND t.OWNER='NETHRA') tComments,
tt.TABLE_NAME ,
tt.COLUMN_NAME ,
(select t2.COMMENTS cComments from all_col_comments t2 where t2.column_name=tt.column_name and t2.OWNER='NETHRA' AND T2.TABLE_NAME='{0}') cComments,
tt.DATA_TYPE,tt.DATA_LENGTH,tt.DATA_PRECISION from all_tab_columns tt where tt.OWNER='NETHRA' AND TT.TABLE_NAME='{0}'
",en_name); //descpsInfo.CustomSQL=string.Format(descpsInfo.CustomSQL,en_name);
var dic = Dao.ExcuteDataSet(descpsInfo).Tables[].AsEnumerable().Select
(
x => new
{
tableName = x["TABLE_NAME"]==null?"":x["TABLE_NAME"].ToString(),
tComments = x["tcomments"]==null?"":x["tcomments"].ToString(),
columnsName = x["COLUMN_NAME"]==null?"":x["COLUMN_NAME"].ToString(),
cComments = x["cComments"]==null?"":x["cComments"].ToString(),
dataType = x["DATA_TYPE"].ToString(),
columnDataLength = x["DATA_LENGTH"].ToString(),
columnDataPrecious = x["DATA_PRECISION"].ToString(), } ).ToList(); //1.创建excel文件
string file = @"C:\Users\admin\Desktop\本周纪要\3.xlsx"; XSSFWorkbook workbook = null;
if (!File.Exists(file))
{
workbook = new XSSFWorkbook();
}
else
{ workbook = new XSSFWorkbook(File.OpenRead(file));
} // 新建一个Excel页签
//1.1创建固定部分前两行 var sheet = workbook.CreateSheet(china_name); IRow row1 = sheet.CreateRow(); //创建sheet页的第0行(索引从0開始)
int start = ;
//1.1.1表头
row1.CreateCell(, CellType.String).SetCellValue("中文表名");
row1.CreateCell(, CellType.String).SetCellValue(china_name);
row1.CreateCell(, CellType.String).SetCellValue("英文表名");
row1.CreateCell(, CellType.String).SetCellValue(en_name);
row1.CreateCell(, CellType.String).SetCellValue("主键");
row1.CreateCell(, CellType.String).SetCellValue("备注"); //1.1.2列头
IRow row2 = sheet.CreateRow();
row2.CreateCell(, CellType.String).SetCellValue("英文名称");
row2.CreateCell(, CellType.String).SetCellValue("中文名称");
row2.CreateCell(, CellType.String).SetCellValue("数据类型");
row2.CreateCell(, CellType.String).SetCellValue("是否为空");
row2.CreateCell(, CellType.String).SetCellValue("");
row2.CreateCell(, CellType.String).SetCellValue(""); using (Stream stream =File.OpenWrite(file))
{ foreach (var item in dic)
{
var columnName = item.columnsName;
var cComment = item.cComments;
var cDataType = item.dataType;
var cLength = item.columnDataLength;
var cPrecious = item.columnDataPrecious;
//是否为空需要人判断默认为空
IRow tmpRow = sheet.CreateRow(start++);
//上述信息写入excel文件
tmpRow.CreateCell(, CellType.String).SetCellValue(columnName);
tmpRow.CreateCell(, CellType.String).SetCellValue(cComment);
tmpRow.CreateCell(, CellType.String).SetCellValue(cDataType);
tmpRow.CreateCell(, CellType.String).SetCellValue("Y");
tmpRow.CreateCell(, CellType.String).SetCellValue("");
tmpRow.CreateCell(, CellType.String).SetCellValue(""); }
start = ;
workbook.Write(stream); //将这个workbook文件写入到stream流中 } }
NPOI读写Excel sheet操作的更多相关文章
- NPOI对Excel的操作(Sheet转DataTable、List<T>)
通过NPOI对Excel进行操作,这里主要是读取的操作.封装到ExcelHelper操作类中. 1 using System.Collections.Generic; 2 using NPOI.HSS ...
- NPOI读写Excel
1.整个Excel表格叫做工作表:WorkBook(工作薄),包含的叫页(工作表):Sheet:行:Row:单元格Cell. 2.NPOI是POI的C#版本,NPOI的行和列的index都是从0开始 ...
- 【转】NPOI读写Excel
1.整个Excel表格叫做工作表:WorkBook(工作薄),包含的叫页(工作表):Sheet:行:Row:单元格Cell. 2.NPOI是POI的C#版本,NPOI的行和列的index都是从0开始 ...
- NPOI读写Excel【转载】
参考示例:https://www.cnblogs.com/luxiaoxun/p/3374992.html 感谢! 1.整个Excel表格叫做工作表:WorkBook(工作薄),包含的叫页(工作表): ...
- Perl读写Excel简单操作
Perl读写Excel简单操作 使用模块 Spreadsheet::ParseExcel Spreadsheet::WriteExcel 读Excel #!/usr/bin/perl -w use s ...
- C#NPOI对Excel的操作、导入导出时异常处理、最全的NPOI资料在这里~
一.Excel理论知识 最新版NPOI2.4.1链接:https://pan.baidu.com/s/1iTgJi2hGsRQHyw2S_4dIUw 提取码:adnq • 整个Excel表格叫做工作 ...
- NPOI - .NET Excel & Word操作组件
概要 NPOI 是 POI 项目的 .NET 版本.POI是一个开源的Java读写Excel.WORD等微软OLE2组件文档的项目. NPOI是构建在POI 3.x版本之上的,它可以在没有安装Offi ...
- C#使用NPOI读写excel
本帖内容来自网络+自己稍作整理,已找不到原贴,侵删 个人比较习惯用NPOI操作excel,方便易理解.在宇宙第一IDE(笑)——VS2017中插入NPOI就很方便: 首先安装NPOI: 然后在.cs文 ...
- NPOI读写Excel组件封装Excel导入导出组件
后台管理系统多数情况会与Excel打交道,常见的就是Excel的导入导出,对于Excel的操作往往是繁琐且容易出错的,对于后台系统的导入导出交互过程往往是固定的,对于这部分操作,我们可以抽离出公共组件 ...
随机推荐
- rapidjson的read和write的sample
头文件 #include "json/document.h" #include "json/prettywriter.h" #include "jso ...
- python-错误
错误 Exception happened during processing of request from ('10.0.0.120', 58083) Traceback (most recent ...
- 嵌入式设备snmpd 移植和测试(78K为例)
一.源码目录项内容 agent:编译snmpd程序所需的文件,mibs源文件: apps:其他相关的程序:snmpwalk,snmptrap,snmptest,snmpget,snmpset: mib ...
- linux 文件权限详细说明
在本章前部,当你试图转换到根用户的登录目录时,你收到了以下消息: cd /root bash: /root: Permission denied 这是 Linux 安全功能的一个演示.Linux 和 ...
- 简单的SOCKET例子
定义实例socket.socket(),如果括号里不写参数,默认为IPV4+TCP 我们猜测客户端的完整代码如下: 同样我们猜测服务端的代码如下: 实际上运行客户端代码: 说明在py3里,网络编程发送 ...
- MySql For Windows解压缩版配置
#配置步骤 1.首先下载解压. (此处我解压到了我电脑的“E:\software\MySql”这个位置,下文以这个目录举例); 2.我的电脑右键属性,找到环境变量配置,配置环境变量,将mysql.ex ...
- OD 实验(六) - 对一个程序的破解
程序: 双击进行安装,安装过程默认就好了 安装完成 运行程序 输入 User 为 sch01ar,点击 Create 点击 Log In 这里显示为未注册版本 看看未注册版本有哪些功能被限制 这里会显 ...
- IDA Pro 权威指南学习笔记(九) - 数据搜索
Search -> Next Code 命令将光标移动到下一个包含指令的位置 Jump -> Jump to Function 命令可以打开所有函数,可以迅速选择一个函数并导航到该函数所在 ...
- Windows系统版本型号MSDN版、OEM版、RTM版、VOL版区别
我们常常听说操作系统的MSDN版.OEM版.RTM版.VOL版等等,它们到底是什么意思,有什么不同呢? (一)MSDN (Microsoft Developer Network)版MSDN软件是微软公 ...
- Android Studio里面配置Tesseract
网上大多是eclipse的项目,因为我用的是AS,所以说一下怎么配置. 身份证图片资料来自百度. 一.导入相关文件 其实我们不用自己编译,可以把别人项目编译好的jar包和so库直接拿来用.因为识别的效 ...