NPOI读取excel文件导出数据, 而此时文件正在打开中抛异常怎么办

项目中需要用到一些数值表格, 方便起见都是用excel来的.

而如果excel正打开中, 直接使用npoi制作的工具来导出数据的话, 在这一行将会异常:

workbook = new XSSFWorkbook(filepath);

其实只是读取的话, 并不需要获得它完整的使用权限, 那么用file.open然后再new workbook行不行? 也不行.

其实看那些excel其他软件的做法就很简单了, 首先执行一次copy

string tmpFile = "~tooltmp.xlsx";
File.Copy(excelFileName, tmpFile, true);

然后打开这个copy的临时文件就可以了, 因为是自己创建的文件, 有完全的使用权也不会有别人来用吧~

原文地址:https://www.cnblogs.com/pasoraku/p/8716602.html

时间: 2024-10-25 13:13:56

NPOI读取excel文件导出数据, 而此时文件正在打开中抛异常怎么办的相关文章

NPOI读取Excel,导入数据到Excel练习01

NPOI 2.2.0.0,初级读取导入Excel 1.读取Excel,将数据绑定到dgv上 1 private void button1_Click(object sender, EventArgs e) 2 { 3 List<Book> books = new List<Book>(); 4 //1.读取Excel文件 5 using (FileStream fsReder = File.OpenRead("练习.xlsx")) 6 { 7 //2.创建工作簿

使用NPOI读取Excel里的数据

DataTable dt = new DataTable(); using (FileStream file = new FileStream(@"C:\Users\Administrator\Desktop\导入datatable\导入datatable\OK.xlsx", FileMode.Open, FileAccess.Read)) { XSSFWorkbook hssfworkbook = new XSSFWorkbook(file); NPOI.SS.UserModel.I

使用NPOI读取Excel数据到DataTable

现在XML文件的存储格式大行其道,但是也不是适用于所有情况,很多单位的数据交换还是使用Excel的形式.这就使得我们需要读取Excel内的数据,加载到程序中进行处理.但是怎样有效率的读取,怎样使程序保持健壮,这需要很大的努力. 我们如果要写一个动态链接库会很花费时间和精力,这就使得开源项目是个很有效率的选择. 在各类关于Excel的开源项目中NPOI是中国的程序员发起的,他的一大好处是直接处理Ole文件,用户不必安装Office.现在发展到2.0还可以自动判断Excel文件版本,我们自己判断文件

《.NET学习笔记》——使用NPOI读取Excel导入数据和导出Excel的功能

前提:由于有差不多两年时间没有进行B/S项目开发了,换了新工作,项目中要求有Excel导入数据库的功能,故保存下来供以后查看. 一.使用jQuery的uploadify插件完成选择文件并上传的功能: (1)先引入相关文件: <script src="../Scripts/uploadify/swfobject.js" type="text/javascript"></script> <link href="../Scripts

NPOI操作excel——利用反射机制,NPOI读取excel数据准确映射到数据库字段

> 其实需求很明确,就是一大堆不一样的excel,每张excel对应数据库的一张表,我们需要提供用户上传excel,我们解析数据入库的功能实现. 那么,这就涉及到一个问题:我们可以读出excel的表头,但是怎么知道每个表头具体对应数据库里面的字段呢? 博主经过一段时间的思考与构思,想到一法:现在的情况是我们有excel表A,对应数据库表B,但是A与B具体属性字段的映射关系我们不知.那我们是不是可以有一个A到B的映射文件C呢? 我想,说到这,大家就很明了了... 第一步:为每张excel创建一个与

使用NPOI读取Excel数据并写入SQLite

首先,我们来建一个数据库,我们就叫Hello.db(不一定是db后缀,你可以sqlite,sqlite3,db3)都可以作为识别,然后往里面建一个空的表格,如下图所示 然后建一个Excel表格,往表格里面写入一些数据,我这里只是Demo形式,可以根据自己的实际情况,稍作修改 然后开始建一个新的项目,我这里用的是WPF,你可以使用Core,Console,Winform都可以,我这里提供思路,仅供参考 然后引用一下图中的dll程序集,主要是SQLite和NPOI,你可以到Nuget去下载,Nuge

PHP导出数据到CSV文件函数/方法

如果不清楚什么是CSV文件,可看如下文章介绍  CSV格式的是什么文件?CSV是什么的缩写? /** * 导出数据到CSV文件 * @param array $data 数据 * @param array $title_arr 标题 * @param string $file_name CSV文件名 */ function export_csv(&$data, $title_arr, $file_name = '') { ini_set("max_execution_time"

mysql导出数据至指定文件的命令

根据查询语句,导出数据至指定文件SELECT name INTO OUTFILE '/tmp/result.txt' FIELDS TERMINATED BY '-|-' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM table_name; FIELDS TERMINATED BY 表示指定字段分隔符OPTIONALLY ENCLOSED BY 表示指定字段包围符号LINES TERMINATED BY 表示指定行与行分隔符 m

【代码实现】PHP导入Excel和导出数据为Excel文件

文章来源:PHP开发学习门户 地址:http://www.phpthinking.com/archives/560 有时需要将Excel表格的数据导入到mysql数据库中,我们使用PHP的一个开源项目PHP-ExcelReader可以轻松实现Excel的导入.另外将mysql数据导出为Excel与本站上篇文章中导出CSV一样,只是将逗号分割符换成制表符,并修改header信息就可以了. 下载源码 本文中,我们沿用本站文章:使用PHP导入和导出CSV文件 中实例的数据表以及html. 1.导入XL