NOPI使用手册

简介:分析一个NOPI的使用手册,可以帮助我们在更好的运用NOPI操作office

有些客户导出或者导入时,对EXCEL的格式要求很高,就需要用到NOPI。代码样例:

Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls

Imports System.IO
Imports NPOI.HSSF.UserModel
Imports NPOI.HPSF
Imports NPOI.POIFS.FileSystem
Imports NPOI.SS.UserModel

Partial Public Class _Default
    Inherits System.Web.UI.Page
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)

    End Sub

    '点击按钮后输出文件数据流
    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs)
        Dim filename As String = "test.xls"
        Response.ContentType = "application/vnd.ms-excel"
        Response.AddHeader("Content-Disposition", String.Format("attachment;filename={0}", filename))
        Response.Clear()

        '调用初始化excel文件
        InitializeWorkbook()

        '生成数据
        GenerateData()

        '输出excel文件流
        Response.BinaryWrite(WriteToStream().GetBuffer())
        Response.[End]()
    End Sub

    '定义workbook
    Private hssfworkbook As HSSFWorkbook

    '
    Private Function WriteToStream() As MemoryStream
        'Write the stream data of workbook to the root directory
        Dim file As New MemoryStream()
        hssfworkbook.Write(file)
        Return file
    End Function

    '生成数据
    Private Sub GenerateData()
        '生成一个sheet
        Dim sheet1 As ISheet = hssfworkbook.CreateSheet("Sheet1")

        '循环向sheet里面添加数据
        sheet1.CreateRow(0).CreateCell(0).SetCellValue("This is a Sample")
        Dim x As Integer = 1
        For i As Integer = 1 To 15
            Dim row As IRow = sheet1.CreateRow(i)
            For j As Integer = 0 To 14
                row.CreateCell(j).SetCellValue(System.Math.Max(System.Threading.Interlocked.Increment(x), x - 1))
            Next
        Next
    End Sub

    '初始化一个Workbook(活动工作表)
    Private Sub InitializeWorkbook()
        hssfworkbook = New HSSFWorkbook()

        '''/create a entry of DocumentSummaryInformation
        Dim dsi As DocumentSummaryInformation = PropertySetFactory.CreateDocumentSummaryInformation()
        dsi.Company = "NPOI Team"
        hssfworkbook.DocumentSummaryInformation = dsi

        '''/create a entry of SummaryInformation
        Dim si As SummaryInformation = PropertySetFactory.CreateSummaryInformation()
        si.Subject = "NPOI SDK Example"
        hssfworkbook.SummaryInformation = si

    End Sub
End Class

 http://files.cnblogs.com/files/KingUp/npoi%E5%AE%9E%E4%BE%8B.rar

转载于:https://www.cnblogs.com/KingUp/p/5741342.html

好的,可以通过以下步骤使用nopi来上传excel文件: 1. 首先,需要下载并安装nopi库。可以通过NuGet包管理器来安装nopi。 2. 在ASP.NET应用程序中,需要引用以下命名空间: ``` using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; ``` 3. 在上传文件的ASP.NET页面中,需要添加一个FileUpload控件,用于选择要上传的Excel文件。 4. 在处理文件上传的代码中,可以使用以下代码来读取Excel文件并将其保存到数据表中: ``` protected void btnUpload_Click(object sender, EventArgs e) { if (FileUpload1.HasFile) { string fileName = Path.GetFileName(FileUpload1.PostedFile.FileName); string fileExtension = Path.GetExtension(FileUpload1.PostedFile.FileName); if (fileExtension == ".xls" || fileExtension == ".xlsx") { string fileLocation = Server.MapPath("~/Upload/" + fileName); FileUpload1.SaveAs(fileLocation); // Create a new Excel document IWorkbook workbook; if (fileExtension == ".xls") { workbook = new HSSFWorkbook(FileUpload1.PostedFile.InputStream); } else { workbook = new XSSFWorkbook(FileUpload1.PostedFile.InputStream); } // Get the first worksheet ISheet sheet = workbook.GetSheetAt(0); // Create a new DataTable DataTable dt = new DataTable(); // Loop through each row in the worksheet for (int i = 0; i <= sheet.LastRowNum; i++) { // Get the current row IRow row = sheet.GetRow(i); // Create a new DataRow DataRow dr = dt.NewRow(); // Loop through each cell in the row for (int j = 0; j < row.LastCellNum; j++) { // Get the current cell ICell cell = row.GetCell(j); // Add the cell value to the DataRow if (cell != null) { dr[j] = cell.ToString(); } } // Add the DataRow to the DataTable dt.Rows.Add(dr); } // Save the DataTable to the database // ... // Delete the uploaded Excel file File.Delete(fileLocation); } } } ``` 这样就可以使用nopi来上传Excel文件并将其保存到数据表中了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值