我正在使用ExcelLibrary动态链接库。
我想冻结标题行..有没有人能建议我怎么做?
我已经尝试了以下代码..
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列和一些行的Datatable。
发布于 2013-06-17 23:32:42
我没有使用你指定的Excel库的经验,但我可以建议迁移到EPPlus库,它是免费的,可以在http://epplus.codeplex.com/网站上找到。这是一个非常容易使用的库,具有清晰的API,设计用于在服务器上创建高级Excel 2007/2010电子表格。我们在几个生产项目中成功地使用了它。使用它,您可以通过使用ExcelSheet.View.FreezePanes方法来实现所需的功能。我知道我的答案没有回答你的问题,但它可以作为你的问题的替代解决方案(我真的不知道你能不能用你指定的Excel库实现你需要的东西)。
发布于 2013-06-18 05:00:46
试试这个:
Dim e As Worksheet
...
e.Application.ActiveWindow.SplitRow = 1
e.Application.ActiveWindow.FreezePanes = Truehttps://stackoverflow.com/questions/17107083
复制相似问题