请问~~~~如何在水晶报表导出为excel表时,显示边框线

mungbeans 2005-11-08 03:14:06
导出的时候,excel文件里除了字段和数据没有边线,这在中国式的表格里肯定不合适,请问各位大侠,水晶报表里有没有相应设计可以导出excel时,也显示相应边框线呢?谢过~~~~
...全文
463 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
iceblue2005gather 2005-11-16
  • 打赏
  • 举报
回复
搂主的问题我也遇到过,没找到很好的解决方法,最后只好自己直接导到excel中去,这样规则,也不是很难,楼主可以自己去查一下网上的资料,挺多的!!什么cr10,补丁阿。都不能很好解决问题!!
给一下你代码看一下:
Imports System.Runtime.InteropServices.Marshal
Imports Office
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 '以COM方式处理Excel
 Dim oExcel As New Excel.Application
 Dim oBooks As Excel.Workbooks, oBook As Excel.Workbook
 Dim oSheets As Excel.Sheets, oSheet As Excel.Worksheet
 Dim oCells As Excel.Range
 Dim sFile As String, sTemplate As String
 '定义一个datatable
 Dim dt As DataTable = CType(Application.Item("MyDataTable"), DataTable)

 sFile = Server.MapPath(Request.ApplicationPath) & "\MyExcel.xls"
 '定义模版文件
 sTemplate = Server.MapPath(Request.ApplicationPath) & "\MyTemplate.xls"
 oExcel.Visible = False
 oExcel.DisplayAlerts = False
 '定义一个新的工作簿
 oBooks = oExcel.Workbooks
 oBooks.Open(Server.MapPath(Request.ApplicationPath) & "\MyTemplate.xls") oBook = oBooks.Item(1)
 oSheets = oBook.Worksheets
 oSheet = CType(oSheets.Item(1), Excel.Worksheet)

 '命名该sheet
 oSheet.Name = "First Sheet"
 oCells = oSheet.Cells
 '调用dumpdata过程,将数据导入到Excel中去
 DumpData(dt, oCells)
 '保存
 oSheet.SaveAs(sFile)
 oBook.Close()

 '退出Excel,并且释放调用的COM资源
 oExcel.Quit()
 ReleaseComObject(oCells) : ReleaseComObject(oSheet)
 ReleaseComObject(oSheets) : ReleaseComObject(oBook)
 ReleaseComObject(oBooks) : ReleaseComObject(oExcel)
 oExcel = Nothing : oBooks = Nothing : oBook = Nothing
 oSheets = Nothing : oSheet = Nothing : oCells = Nothing
 System.GC.Collect()
 Response.Redirect(sFile)
End Sub

'将DATATABLE的内容导出到Excel的单元格中去
Private Function DumpData(ByVal dt As DataTable, ByVal oCells As Excel.Range) As String
 Dim dr As DataRow, ary() As Object
 Dim iRow As Integer, iCol As Integer

 '输出列标题
 For iCol = 0 To dt.Columns.Count - 1
  oCells(2, iCol + 1) = dt.Columns(iCol).ToString
 Next

 '将数据导出到相应的单元格
 For iRow = 0 To dt.Rows.Count - 1
  dr = dt.Rows.Item(iRow)
  ary = dr.ItemArray
  For iCol = 0 To UBound(ary)
   oCells(iRow + 3, iCol + 1) = ary(iCol).ToString
   Response.Write(ary(iCol).ToString & vbTab)
  Next
 Next
End Function
End Class
我用这种方法成功导出过,你要在你项目的根目录下建立一个excel的文件就好了,作为摸版,把你要的数据导入dataset的表中就好了,搂主可以试一下!!

wngwz 2005-11-15
  • 打赏
  • 举报
回复
解决方法1:
从网上找一个补丁程序。
解决方法2:
自己写一个导出。
解决方法3:
升级你的水晶报表到9.2



====CSDN 小助手 V2.0 2005年10月16日发布====
CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/10/16/504620.aspx
下载:http://szlawbook.com/csdnv2/csdnv2.rar

为神六喝彩,向所有科技工作者致敬!
拒绝日货。
showrock 2005-11-15
  • 打赏
  • 举报
回复
补丁程序在哪里能下载到?
murphydai 2005-11-08
  • 打赏
  • 举报
回复
看到过一个方法,我没试过,不知道效果怎样.把边框设置为显示,然后每个诓都靠在一起,中间不要留空,这样每个诓就是一个单元格.另外不要用线来画诓.
mungbeans 2005-11-08
  • 打赏
  • 举报
回复
请知道的朋友告诉我好吗~~~真的是很急啊~~~~

4,820

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧