【问题标题】:How to Freeze Header row in Excel using ExcelLibrary dll如何使用 ExcelLibrary dll 冻结 Excel 中的标题行
【发布时间】:2013-06-11 00:28:51
【问题描述】:

我正在使用 ExcelLibrary dll。

我想冻结标题行.. 任何人都可以建议我如何做到这一点吗?

我试过下面的代码..

Imports System.Data.SqlClient
Imports ExcelLibrary
Imports ExcelLibrary.SpreadSheet



Partial Class DownloadExcel
Inherits System.Web.UI.Page

Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
    Try
        Dim wb As New Workbook()
        Dim sheetrowcounter As Integer
        sheetrowcounter = 0
        Dim sheet As New ExcelLibrary.SpreadSheet.Worksheet("ExcelSheet")

        sheet.Cells(sheetrowcounter, 0) = New Cell("DELIVERY MONITORING SUMMARY(PROJECT GRANDE) ")
        sheet.Cells(sheetrowcounter, 2) = New Cell("")

        sheet.Cells(sheetrowcounter, 3) = New Cell("Report Date: '" & DateTime.Now.ToString("yyyy/MM/dd H:mm:ss tt") & "                                                                                                                   ")

        sheetrowcounter += 1
        sheetrowcounter += 1
        sheet.Cells(sheetrowcounter, 0) = New Cell("Sl No")
        sheet.Cells.ColumnWidth(0) = 10000
        sheet.Cells(sheetrowcounter, 1) = New Cell("Name")
        sheet.Cells.ColumnWidth(1) = 6000

        sheetrowcounter += 1
        Dim t As DataTable = Session("exceltable")
        For i As Integer = 1 To t.Rows.Count - 1
            Try
                sheet.Cells(sheetrowcounter, 0) = New Cell(t.DefaultView.Item(i)(0))
                sheet.Cells(sheetrowcounter, 1) = New Cell(t.DefaultView.Item(i)(1))
                sheetrowcounter += 1
            Catch ex As Exception

            End Try

        Next
        sheet.Cells(0, 0).Format.FormatString = "freeze"

        wb.Worksheets.Add(sheet)


        Response.Clear()
        Response.ContentType = "application/vnd.ms-excel"
        Response.AddHeader("content-disposition", "attachment;filename=DeliveryMonitoringSummaryDaily.xls")

        Dim m As System.IO.MemoryStream = New System.IO.MemoryStream()
        wb.SaveToStream(m)
        m.WriteTo(Response.OutputStream)

    Catch ex As Exception

    End Try
End Sub

End Class

我在 Session("exceltable") 对象中存储一个包含 2 列和一些行的数据表。

【问题讨论】:

    标签: asp.net vb.net excel excellibrary


    【解决方案1】:

    我没有使用您指定的 Excel 库的经验,但我可以建议迁移到免费的 EPPlus 库,该库可在 http://epplus.codeplex.com/ 网站上找到。这是一个非常易于使用的库,具有清晰的 API,旨在在服务器上创建高级 Excel 2007/2010 电子表格。我们在多个生产项目中成功使用了它。使用它,您可以使用 ExcelSheet.View.FreezePanes 方法来实现您所需要的。我知道我的回答不能回答您的问题,但它可以被视为您问题的替代解决方案(我真的不知道您是否可以使用您指定的 Excel 库来实现您所需要的)。

    【讨论】:

    • 感谢您的回复..这可能是替代品,但我的整个项目使用 ExcelLibrary dll..对于我网站中的一页,我需要使用 epplus 更改整个项目..
    【解决方案2】:

    试试这个:

    Dim e As Worksheet
    ...
    e.Application.ActiveWindow.SplitRow = 1
    e.Application.ActiveWindow.FreezePanes = True
    

    【讨论】:

      猜你喜欢
      • 2011-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-14
      • 1970-01-01
      • 1970-01-01
      • 2018-12-21
      • 1970-01-01
      相关资源
      最近更新 更多