以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  导出EXCEL单元格换行  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=141267)

--  作者:13968559581
--  发布时间:2019/9/25 13:08:00
--  导出EXCEL单元格换行
你好:
      我在窗口生成一个表Tables(e.form.name & "_table1"),每个单元格里有好几个人员名字,我在窗口显示的时候,姓名已经实现了换行,
      但我导出到EXCEL的时候,不会换行,怎么办?
      代码见下:

Dim dlg As New SaveFileDialog \'定义一个新的SaveFileDialog 
dlg.Filter= "Excel文件|*.xlsx" \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
     Tables(e.form.name & "_table1").SaveExcel(dlg.FileName, "值班人员")  \'保存文件
End If

--  作者:有点蓝
--  发布时间:2019/9/25 14:02:00
--  
导出后到execl里设置这一列为自动换行即可
--  作者:13968559581
--  发布时间:2019/9/25 14:26:00
--  
你好:
     重新在EXCEL里再设置不行呀,我要被骂死的

--  作者:有点蓝
--  发布时间:2019/9/25 14:30:00
--  
那要使用代码,在输出报表后,重新设置需要的单元格的样式:http://www.foxtable.com/webhelp/topics/1165.htm
--  作者:13968559581
--  发布时间:2019/9/26 8:41:00
--  
可以指点一下,代码怎么写吗


--  作者:有点蓝
--  发布时间:2019/9/26 9:14:00
--  
比如:http://www.foxtable.com/webhelp/topics/1146.htm

Tables(e.form.name & "_table1").SaveExcel(dlg.FileName, "值班人员")  \'保存文件
Dim Book As New XLS.Book(dlg.FileName
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Dim
 Style As XLS.Style = Book.NewStyle() \'定义新样式
Style.
WordWrap = true
For n As Integer = 1 To Sheet.Rows.Count -
  
Sheet(n,5).Style =Style \'5改为人员列的索引即可
Next

Book.Save(
dlg.FileName)
Dim
 Proc As New Process
Proc.File = 
dlg.FileName
Proc.Start()

--  作者:13968559581
--  发布时间:2019/9/26 14:45:00
--  
效果可以,非常感谢