在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()