asp.net用npoi读取ecxel数据到oracle表
来源:互联网 发布:海地为什么这么穷 知乎 编辑:程序博客网 时间:2024/05/16 06:34
1.html部分
<div style="margin-bottom: 0px; margin-top: 5px; vertical-align: top;"> <span style="height: 30px; vertical-align: top;">上传文件:</span> <span id="uploadFile"> 加载中...</span> </div>
2.javascript
<script type="text/javascript" language="javascript" src="<%= Page.ResolveUrl("~/Scripts/flash/fileupload.js") %>"></script> <script type="text/javascript"> $(function () { var params = { serverUrl: "/Pages/ZHCXPG/ImportAREAExcel.aspx?faid=" + parent.faid, jsFunction: "callBackFun", uploadText: "上传文件", filter: "*.xls;*.xlsx", maxFileCount: 1 } initData(params, "uploadFile", 300); }); </script>
3.后台代码
protected void Page_Load(object sender, EventArgs e) { var model = UploadArchivesFile(Request.Files[0]); DataTable data = new DataTable(); int startRow = 0; var filepath = Server.MapPath(GlobalConfig.BasePath + model.FileRelativePath); var array = new ArrayList(); if (model.success == 200) { var fi = new FileInfo(filepath); var ext = fi.Extension.ToLower(); IWorkbook book = null; using (var file = new FileStream(filepath, FileMode.Open, FileAccess.Read)) { if (ext.Equals(".xlsx")) { book = new XSSFWorkbook(file); } else { book = new HSSFWorkbook(file); } } var sheet = book.GetSheetAt(0); if (sheet != null) { IRow firstRow = sheet.GetRow(0); int cellCount = firstRow.LastCellNum; //一行最后一个cell的编号 即总的列数 for (int i = firstRow.FirstCellNum; i < cellCount; ++i) { ICell cell = firstRow.GetCell(i); if (cell != null) { string cellValue = cell.StringCellValue; if (cellValue != null) { DataColumn column = new DataColumn(cellValue); data.Columns.Add(column); } } } startRow = sheet.FirstRowNum + 1; //最后一列的标号 int rowCount = sheet.LastRowNum; for (int i = startRow; i <= rowCount; ++i) { IRow row = sheet.GetRow(i); if (row == null) continue; //没有数据的行默认是null DataRow dataRow = data.NewRow(); for (int j = row.FirstCellNum; j < cellCount; ++j) { if (row.GetCell(j) != null) //同理,没有数据的单元格都默认是null dataRow[j] = row.GetCell(j).ToString(); } var sql = "insert into Z_GBZ_AREA values(" + i + ",'" + dataRow[0] + "','" + dataRow[1] + "','" + dataRow[2] + "','" + dataRow[3] + "','" + dataRow[4] + "')"; array.Add(sql); } } if (array.Count > 0) { DbHelperOra.ExecuteSqlTran(array); var retval = JsonConvert.SerializeObject( new { success = 200, msg = "上传成功", filepath, filename = model.File_Model.FileName }); Response.Write(retval); } } Response.End(); }
<pre name="code" class="csharp"> public FileMsg UploadArchivesFile(HttpPostedFile httpPostedFileBase) { var result = new FileMsg(); if (httpPostedFileBase == null) { result.success = -200; result.msg = "参数无效"; return result; } var path = "GBZ/AREA/Excels/"; var fileUpload = new UploadFile("Bg"); var savePath = GlobalConfig.BasePath + path; var physicalPath = Server.MapPath(savePath); var fileModel = fileUpload.Save( httpPostedFileBase, DateTime.Now.ToString("yyyyMMddHHmmssffffff"), physicalPath); if (string.IsNullOrEmpty(fileModel.ErrorString)) { result.success = 200; result.FileRelativePath = string.Concat(path, fileModel.FileNewName); result.File_Model = fileModel; return result; } result.success = -200; result.msg = fileModel.ErrorString; return result; }
4.数据库表
create table Z_GBZ_AREA ( ID NUMBER(8) not null, XZQDM VARCHAR2(38), XZQMCNAME VARCHAR2(50), GJJBN CHAR(1) default '0', GBZJB CHAR(1) default '0', GJJPK CHAR(1) default '0', constraint PK_Z_GBZ_AREA primary key (ID));
0 0
- asp.net用npoi读取ecxel数据到oracle表
- asp.net 利用NPOI导出数据到Excel模版
- asp.net中利用NPOI导出数据到excel中
- asp.net使用MVC4框架基于NPOI做导出数据到Excel表
- asp.net使用MVC4框架基于NPOI做导出数据到Excel表
- asp.net C# NPOI 读取 Excel 文件
- 使用NPOI读取Excel数据到DataTable
- ASP.NET基于NPOI导出数据
- NPOI读取excel数据
- asp.net用NPOI导出Excel
- asp.net NPOI 导出
- .net(NPOI)实现Excel数据的写入和读取
- ASP.NET用存储过程读取Oracle数据库表
- xml + asp.net 实现 xml数据读取到 treeview
- asp.net 用sqldatareader读取数据
- asp.net word ecxel类型文件在线预览
- asp.net word ecxel类型文件在线预览
- NPOI读取EXCEL到datagridview
- 实例化子类的时候是否内存也实例化一个父类对象?
- 【9】Linux-设备驱动概述
- ThreadLocal源码分析
- Java中Filter、Servlet、Listener的学习
- 服务器维护系列——VNC没有反应了怎么办?
- asp.net用npoi读取ecxel数据到oracle表
- AOP实现原理
- Gson用法一
- 设计模式:装饰模式(Decorator)
- 贪心算法B(1001)
- Android--android:descendantFocusability用法简析
- 机器学习中的数学(5)-强大的矩阵奇异值分解(SVD)及其应用
- [SIMD]单指令多数据指令集(二)—— SIMD指令集在非对称算法中的应用
- 对象转型实例扩展