npoi完整代码:NET npoi帮助类

        public static void DataTableToExcel(List<DataTable> dataTables, string filePath)
{
if (dataTables == null || !dataTables.Any())
throw new Exception("dataTables不能为null");
bool isOldThan2007 = Path.GetExtension(filePath)?.ToLower() == ".xls";
IWorkbook book = dataTables.ToWorkbook(isOldThan2007);
using (FileStream fs = new FileStream(filePath, FileMode.Create, FileAccess.Write))
{
book.Write(fs);
}
}
        public static IWorkbook ToWorkbook(this List<DataTable> dataTables, bool isOldThan2007)
{
IWorkbook book = isOldThan2007 ? new HSSFWorkbook() : (IWorkbook)new XSSFWorkbook();
foreach (var dataTable in dataTables)
{
if (dataTable == null)
continue;
ISheet sheet = book.CreateSheet(dataTable.TableName);
IRow headerRow = sheet.CreateRow();
foreach (DataColumn column in dataTable.Columns)
{
headerRow.CreateCell(column.Ordinal).SetCellValue(column.ColumnName);
} for (int i = ; i < dataTable.Rows.Count; i++)
{
DataRow row = dataTable.Rows[i];
IRow dataRow = sheet.CreateRow(i + );
for (int j = ; j < dataTable.Columns.Count; j++)
{
dataRow.CreateCell(j).SetCellValue(row[j]?.ToString());
}
}
}
return book;
}

NET npoi 保存文件的更多相关文章

  1. 12.JAVA之GUI编程打开与保存文件

    功能:java图形用户界面开发,练习打开保存文件 代码如下: import java.awt.FileDialog; import java.awt.Frame; import java.awt.Me ...

  2. vim保存文件时,生成.un~文件

    在用vim保存文件时,文件夹下生成.un~文件 怎么删除这些文件呢 在网上搜索的答案: http://stackoverflow.com/questions/15660669/what-is-a-un ...

  3. android 保存文件的各种目录列表

    一般的,我们可以通过context和Environment来获取要保存文件的目录 ($rootDir) +- /data -> Environment.getDataDirectory() | ...

  4. 无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)

    1.android下junit测试框架配置 单元测试需要在手机中进行安装测试 (1).在清单文件中manifest节点下配置如下节点 <instrumentation android:name= ...

  5. C#项目打开/保存文件夹/指定类型文件,获取路径

    C#项目打开/保存文件夹/指定类型文件,获取路径 转:http://q1q2q363.xiaoxiang.blog.163.com/blog/static/1106963682011722424325 ...

  6. FileOutputStream保存文件

    //保存文件,根据传入的路径,存放在SD卡目录下public boolean saveToPath(String title, String pageName) { Bitmap b = getCha ...

  7. Qt snippet — 打开文件&保存文件

    打开文件: void Notepad::on_actionOpen_triggered() { QString fileName = QFileDialog::getOpenFileName(this ...

  8. php中关于js保存文件至本地的问题

    最近在搞一个livezilla的在线客服聊天的东东,客户界面要求添加一个下载聊天记录的功能.于是我就是翻看了下网上的各种关于”js保存文件至本地“的资料,发现只能在IE下通过execCommand实现 ...

  9. VS2005保存文件很慢

    VS2005出了点毛病,边的出奇的慢,简直不可忍受. 症状是:保存文件很慢,哪怕是修改一个变量,也要等上大概20秒 保存文件的时候,VS2005会在局域网内寻找一个主机当这个主机不在线的时候vs200 ...

随机推荐

  1. c++智能指针(2)

    追加一个shared_ptr指针 #include <memory> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { ...

  2. windows一键配置 php mysql apache 记录

    记录下 方便查找(最近机器老重装 资料丢失严重) wamp http://www.wampserver.com/en/#download-wrapper https://sourceforge.net ...

  3. Vue热更新报错(log.error('[WDS] Errors while compiling. Reload prevented.'))

    log.error('[WDS] Errors while compiling. Reload prevented.');中的WDS其实是webpack-dev-serverwebpack的意思,用来 ...

  4. Vue router 全局路由守卫

    记录一下全局路由守卫的使用: 方法一:定义一个数组用于检测与管理需要登录的页面,全局路由守卫配合本地存储判断是否跳转 import Vue from 'vue' import Router from ...

  5. mybatis 操作数据错误Truncated incorrect DOUBLE value: ''

    网上查到遇到次错误造成的原因: UPDATE TSYS_ROLE_RIGHTSET ACTIVE_FLAG = '2' and UPDATE_PERSON = 'CaiYiHua' and  UPDA ...

  6. activiti 清库脚本(转)

    在使用activiti 的时候会经常遇到需要清空数据库中的数据,因此本文重点讲解如何解决该问题. 再删除数据的时候,需要注意有主外键约束的问题?下面罗列的DDL可以结合自身的业务需求进行灵活改造. D ...

  7. windows server 2008 - 隐藏磁盘分区 (2)

    二 创建策略并设置给指定用户 1 打开“组策略管理”(在这里创建策略) cmd下输入GPMC.MSC 打开组策略管理   随后在域上右键选择“在这个域中创建GPO并在此处链接”,输入名字“磁盘管理策略 ...

  8. MarkDown,写出个性、漂亮的文档

    http://www.markdown.cn # Title1## Title2### Title3content==content2--content3--* name- name+ name * ...

  9. idea maven编译jdk报错

    <!--自己添加的,用来控制maven编译时的jdk版本--> <plugins> <plugin> <groupId>org.apache.maven ...

  10. CRC在线计算工具

    http://www.lammertbies.nl/comm/info/crc-calculation.html