示例二
如果要导出部分列,或者要自定义列宽,或者要自定义列标题,可以参考下面的代码:
Dim dt
As
Table =
Tables("订单")
Dim nms()
As
String =
{"产品","客户","数量","单价","金额","日期"} '要导出的列名
Dim caps() As
String = {"产品名称","用户名称","数量","单价","金额","日期"} '对应的列标题
Dim szs()
As
Integer
= {100,100,80,80,80,120} '对应的列宽
Dim Book
As New XLS.Book '定义一个Excel工作簿
Dim Sheet
As XLS.Sheet = Book.Sheets(0) '引用工作簿的第一个工作表
Dim st
As XLS.Style = Book.NewStyle '日期列的显示格式
st.Format = "yyyy-MM-dd"
For c As
Integer = 0
To nms.length -1
Sheet(0,
c).Value =
caps(c)
'指定列标题
Sheet.Cols(c).Width = szs(c)
'指定列宽
If dt.Cols(nms(c)).IsDate Then
'如果是日期列
Sheet.Cols(c).Style = st '设置显示格式
End
If
Next
For r As
Integer = 0
To dt.Rows.Count - 1
'填入数据
For c As
Integer =
0
To nms.length -1
Sheet(r +1, c).Value = dt.rows(r)(nms(c))
Next
Next
Dim dlg As New SaveFileDialog
'定义一个新的SaveFileDialog
dlg.Filter= "Excel文件|*.xls"
'设置筛选器
If dlg.ShowDialog =
DialogResult.Ok Then
Book.Save(dlg.FileName)
Dim Proc As New Process
Proc.File = dlg.FileName
Proc.Start()
End
If
根据帮助, 上述代码如果日期是空的话,会显示1900/1/0, 怎样才能显示日期是空? 另外字体也比普通导出的字体要大,怎样才能显示普通导出的正常字体呢?