以文本方式查看主题

-  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=21850)

--  作者:新福星
--  发布时间:2012/7/26 9:10:00
--  [求助]表转存Excel文件时如何遇到的问题!

在Tables(e.Form.Name & "_table1")中形成的数据要转存成Excel文件,并且在这个文件前想加入两行,一行当做报表标题行,另一行保存报表统计日期.

采取的方法是:先将转存成Excel文件,然后在这个Excel文件上进行修改.(原来的报表头是多层(两层)架构)

在用了sheet.Rows.Insert(0)插入一行后,原来Excel文件的表头中的数据下移了一行,但是原来的Excel表头的单元结构没有下移;

如表的表头是..上旬_借方, 上旬_贷方,中旬_借方,中旬_贷方,....,形成的Excel文件表头结构也是同上(占用Excel两行,上旬和中旬是合并);插入两行后,Excel原来的表头数据下移了两行,但是那些合并的单元格没有下移。程序如下,如何解决?谢谢

 

 

Dim bt As String="报表汇总"
Dim flg As New SaveExcelFlags
flg.RowNumber = True
flg.CellStyle = True
flg.MergedRanges=True
Dim wjm As String=报表目录 & bt &  format(Date.now,"yyyyMMdd")  & ".xls"
If FileIsOpened(wjm)= True Then
    MessageBox.Show("文件已经打开,请先关闭此文件!")
    Return
End If

Tables(e.Form.Name & "_table1").SaveExcel(wjm,bt,flg)


Dim Book As New XLS.Book(wjm)
Dim Sheet As XLS.Sheet = Book.Sheets(bt) \'引用工作

sheet.Rows.Insert(0)
Sheet.Rows.Insert(0)
Sheet.MergeCell(0,0,1,12)
Sheet(0,0).Value=bt
Sheet.MergeCell(1,0,1,12)

Sheet(1,0).Value ="制表日期:" & Date.now  & "                    制表人:" & _username
sheet(1,0).Style=Style1

Book.Save(wjm)
Dim Proc As New Process \'定义一个新的Process
Proc.File = wjm
Proc.Start()


--  作者:狐狸爸爸
--  发布时间:2012/7/26 11:24:00
--  

你直接设计一个Excel模版,通过模版来打印这个表,在设计模版的时候,就插入这两行,这样好处理很多。