VB.NET使用NPOI将Excel导入(xls and xlsx 格式)范例
再来上传!)End IfCatch ex As ExceptionGIUtil.showMsg(page, 讯息, workbook)End IfstrVal = formulaEvaluator.Evaluate(excelCell).FormatAsString()ElseIf excelCell.CellType = NPOI.SS.UserModel.CellType.NUMERIC _AndAlso NPOI.SS.UserModel.DateUtil.IsValidExcelDate(excelCell.NumericCellValue) _AndAlso NPOI.SS.UserModel.DateUtil.IsCellDateFormatted(excelCell) ThenstrVal = excelCell.DateCellValue.ToString(yyyy/MM/dd)ElseIf excelCell.CellType = NPOI.SS.UserModel.CellType.NUMERIC ThenstrVal = excelCell.NumericCellValueElsestrVal = excelCell.ToString()End If若第一个 Cell 是空白值就滤掉这笔If (colIndex = 0 AndAlso String.IsNullOrEmpty(strVal.Trim())) ThenContinue WhileEnd IfnewRow(dtNew.Columns(colIndex)) = strValhasData = TrueEnd IfNextIf (hasData) ThendtNew.Rows.Add(newRow)End IfEnd WhileEnd IfNextDT = ds.Tables(0)workbook = NothingReturn DTElseGIUtil.showMsg(page,一直读到最后一行While rowId = sheet.LastRowNum - 1Dim newRow As DataRow = dtNew.NewRow()rowId += 1hasData = False读取所有columnFor colIndex As Integer = 0 To dtNew.Columns.Count - 1excelRow = sheet.GetRow(rowId)If (excelRow Is Nothing) ThenContinue WhileEnd IfexcelCell = excelRow.GetCell(colIndex)若第一个 Cell 是 Nothing 就滤掉这笔If (excelCell Is Nothing AndAlso colIndex = 0) ThenContinue WhileEnd IfIf (excelCell IsNot Nothing) ThenDim strVal As StringIf excelCell.CellType = NPOI.SS.UserModel.CellType.FORMULA ThenIf formulaEvaluator Is Nothing ThenformulaEvaluator = New HSSFFormulaEvaluator(sheet, == 汇入失败!)End TryEnd Function , 讯息, FileMode.Open)自动判断xls或xlsxDim workbook As IWorkbook = WorkbookFactory.Create(file)file.Close()IO.File.Delete(savePath)为每个WorkSeeh建立出一个tableFor sheetIndex As Integer = 0 To workbook.NumberOfSheets - 1Dim sheet As ISheet = workbook.GetSheetAt(sheetIndex)建立一个新的tableDim dtNew As DataTable = ds.Tables.Add(workbook.GetSheetName(sheetIndex))Dim excelRow As IRow = sheet.GetRow(0)Dim excelCell As ICellDim formulaEvaluator As HSSFFormulaEvaluator = NothingIf excelRow IsNot Nothing Then由第一列取标题做为字段名称For columnIndex As Integer = 0 To excelRow.LastCellNum - 1excelCell = excelRow.GetCell(columnIndex)If excelCell IsNot Nothing ThenDim dc As New DataColumn(excelCell.ToString())dtNew.Columns.Add(dc)End IfNextDim rowId As Integer = 0Dim hasData As Boolean第一列以后为数据, ByRef fileup As FileUpload) As System.Data.DataTableDim ds As New DataSet()Dim DT As New System.Data.DataTableTryDim savePath As String = page.MapPath(~/temp/)If (fileup.HasFile) ThenDim fileName As String = fileup.FileNameDim extension As String = System.IO.Path.GetExtension(fileName)Dim IDName As String = System.Guid.NewGuid().ToString() extensionsavePath = savePath IDNamefileup.SaveAs(savePath)开启要读取的Excel档案Dim file As New FileStream(savePath。
== 请先挑选档案之后, 1.首先必须到NPOI的官网下载2.0以上版本才有支持xlsx的汇入() 2.将下载回来的dll加入参考 Public Function ReadExcelToDatatable(ByRef page As Page,。
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/jiaob/vbscript/9415.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
利用DataGridView举办增删改
时间:2021-01-13
-
VB.NET简朴UDP联机措施
时间:2021-01-13
-
obj.ScaleMode)/s phgt = obj.Sc
时间:2021-01-13
-
机房收费系统之报表(二
时间:2020-12-28
-
VB.NET TextBox设定第几行选取
时间:2020-12-28
-
VB.NET 串口异步访问
时间:2020-12-27
-
限制字符串输入 正则表达
时间:2020-12-27
-
ListView的基本操作(新增、
时间:2020-12-27
热门文章
-
VB.NET 串口异步访问
时间:2020-12-27
-
VB.NET简朴UDP联机措施
时间:2021-01-13
-
机房收费系统系列四:上下机
时间:2020-12-26
-
obj.ScaleMode)/s phgt = obj.ScaleY(phgt
时间:2021-01-13
-
ListView的基本操作(新增、删除、全选、上
时间:2020-12-27
-
VB6系统打印常识
时间:2020-12-26
-
VB.NET TextBox设定第几行选取
时间:2020-12-28
-
VB.NET机房收费DataGridView与数据库的连接
时间:2020-12-26
-
Microsoft VBScript 编译器错误 错误 '800a03e9
时间:2020-12-23
-
机房收费系统之报表(二)
时间:2020-12-28
