使用NPOI导入Excel注意日期格式和数字格式
//使用NPOI导入Excel
public static DataTable importExcelToDataSetUsingNPOI(string FilePath, string fileName)
{
DataSet myDs = new DataSet();
DataTable dt = new DataTable("mytable"); myDs.Tables.Add(dt);
DataRow myRow;
myDs.Clear(); try
{
using (Stream stream = new FileStream(FilePath, FileMode.Open, FileAccess.Read))
{
HSSFWorkbook wk = new HSSFWorkbook(stream); ISheet sheet = wk.GetSheetAt(); //读取当前表数据 只读取第一个sheet int rowsint = sheet.LastRowNum;
for (int y = ; y <= rowsint; y++)
{
//Execel第一行是标题,不是要导入数据库的数据
IRow row = sheet.GetRow(y); //读取当前行数据
if (row != null)
{
int columnsint = row.LastCellNum;
if (y == )//第一行,标题
{
for (int m = ; m < columnsint; m++)
{
dt.Columns.Add("F" + m.ToString(), System.Type.GetType("System.String"));
}
}
else
{
myRow = myDs.Tables["mytable"].NewRow();
for (int j = ; j < columnsint; j++)
{
if (j == )
{ }
if (row.GetCell(j).CellType == CellType.NUMERIC)//数字类型
{
string columnname = "F" + j.ToString();
if (DateUtil.IsValidExcelDate(row.GetCell(j).NumericCellValue) && DateUtil.IsCellDateFormatted(row.GetCell(j)))
{
DateTime D = row.GetCell(j).DateCellValue;
myRow[columnname] = (D.ToString().Length == || D.ToString().Contains("#")) ? " " : D.ToString();
}
else
{
double strValue = row.GetCell(j).NumericCellValue;
myRow[columnname] = (strValue.ToString().Length == || strValue.ToString().Contains("#")) ? " " : strValue.ToString();
}
}
else
{
string strValue = row.GetCell(j).StringCellValue;
string columnname = "F" + j.ToString();
myRow[columnname] = (strValue.Length == || strValue.Contains("#")) ? " " : strValue;
}
}
try
{
myDs.Tables["mytable"].Rows.Add(myRow);
}
catch { }
}
}
}
}
}
catch (Exception ex)
{
Debug.WriteLine(ex.Message);
}
return myDs.Tables["mytable"];
}
使用NPOI导入Excel注意日期格式和数字格式的更多相关文章
- ASP.NET MVC NPOI导入Excel DataTable批量导入到数据库
使用NPOI导入Excel 首先在MVC项目中导入NPOI 查询NPOI安装,排序依据,选择:最高下载量,选择第一个. 在控制器中创建ExcelController 在Index视图中写入代码: @u ...
- 使用npoi导入Excel - 带合并单元格--附代码
之前我们在使用npoi导入excel表格的时候,往往会遇见那种带有合并单元格的数据在导入的时候出现合并为空的问题, 也就是只有第一条有数据,其余均为空白.在网上翻了半天也没有找到合适的解决方案,最后还 ...
- NPOI 导入Excel和读取Excel
1.整个Excel表格叫做工作表:WorkBook(工作薄),包含的叫页(工作表):Sheet:行:Row:单元格Cell. 2.NPOI是POI的C#版本,NPOI的行和列的index都是从0开始 ...
- NPOI导入excel为datatable (xls xlsx xlsm)
使用NPOI导入导出Excel(xls/xlsx)数据到DataTable中 http://www.cnblogs.com/songrun/p/3547738.html NPOI 2.0教程 – 自动 ...
- NPOI导入excel
1.引用NPOI: using NPOI.HSSF.UserModel;using NPOI.HSSF.Util;using NPOI.SS.UserModel; 2.导出excel 1 privat ...
- .Net Core 使用 NPOI 导入Excel
由于之前在网上查阅一些资料发现总是不能编译通过,不能正常使用,现把能正常使用的代码贴出: /// <summary> /// Excel导入帮助类 /// </summary> ...
- NPOI导入Excel日期格式的处理 - 附类型格式匹配表
传统操作Excel方法在部署的时候遇到很多问题,如目标主机需要安装Excel.64位电脑不支持.需要安装相关驱动程序等.所以我们一般会使用开源的NPOI来替代传统的Excel操作方法,NPOI的优点是 ...
- Mysql导入Excel数据 日期问题 (Excel 与 MySQL 时间戳格式和日期 互转)
https://blog.csdn.net/ghw455954461/article/details/7247738 今天项目表中需要导入好几w条数据 ,但日期由两个一个是标准时间一个为时间戳,程序中 ...
- jxl 导入excel以及日期格式处理
先建一个excel文件abc.xls.放到E盘根目录下.形如下: name secondName hot1 leave1 hot2 leave2 然后在数据库里建表. CREATE TABLE `na ...
随机推荐
- [Erlang]Erlang经常使用工具解说
原创文章,转载请注明出处:服务器非业余研究http://blog.csdn.net/erlib 作者Sunface 联系邮箱:cto@188.com 但凡有图形界面的都须要linux系统安装了wx图形 ...
- Kubernetes1.6新特性:全面支持多颗GPU
(一) 背景资料 GPU就是图形处理器,是Graphics Processing Unit的缩写.电脑显示器上显示的图像,在显示在显示器上之前.要经过一些列处理,这个过程有个专有的名词叫" ...
- JMeter3.0配置
解压apache-jmeter-3.0.zip文件至c盘,本文解压至C:\jmeter3目录下. 桌面上选择“我的电脑”(右键),高级, 环境变量, 在“系统变量”--->“新建”, 在变量名中 ...
- IntelliJ IDEA15,PhpStorm10,WebStorm11激活破解
此方法可用于激活IntelliJ IDEA15,PhpStorm10,WebStorm11等系列JetBrains产品.仅供参考,请支持正版. 最新方法:http://15.idea.lanyus.c ...
- python-__init__.py 与模块对象的关系
python中的Module是比较重要的概念.常见的情况是,事先写好一个.py文件,在另一个文件中需要import时,将事先写好的.py文件拷贝 到当前目录,或者是在sys.path中增加事先写好的. ...
- [转]SIGPIPE信号
我写了一个服务器程序,在Linux下测试,然后用C++写了客户端用千万级别数量的短链接进行压力测试. 但是服务器总是莫名退出,没有core文件. 最后问题确定为, 对一个对端已经关闭的socket调 ...
- js根据对象的某一属性进行排序
function compare(property) { return function (a, b) { var value1 = new Date(a[property]); var value2 ...
- 区别原生chrome 和以chrome为内核的360浏览器
function isChrome360() { if( navigator.userAgent.toLowerCase().indexOf('chrome') > -1 ) { var des ...
- REP-20147 Cannot implement column link for this detail SQL query. Converting to group link.
注:本文为原创,作为学习交流使用,转载请标明作者及出处,作者保留追究法律责任的权力. Lumen Su lzsu1989#gmail.com (#=@) www.cnblogs.com/lzsu198 ...
- django 查询集 API
filter 表示=, 返回一个新的QuerySet,包含与给定的查询参数匹配的对象.exclude 表示!=. 返回一个新的QuerySet,它包含不满足给定的查找参数的对象. annotate 使 ...