以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  狐表导出EXCEL表出错  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=150076)

--  作者:zhuxinhui
--  发布时间:2020/5/20 11:13:00
--  狐表导出EXCEL表出错
狐表导出EXCEL表出错
Dim dt As Table = Tables("承包对帐单")
Dim nms() As String = {"入库日期","单号","物料编码","货物名称","规格","单位","数量","结算单价","结算金额"} \'要导出的列名
Dim caps() As String = {"入库日期","单号","物料编码","货物名称","规格","单位","数量","结算单价","结算金额"}\'对应的列标题
Dim szs() As Integer = {100,100,80,80,80,120,100,100,100} \'对应的列宽


Dim Sheet As XLS.Sheet = Wb.Sheets("对帐单") \'引用工作簿的第一个工作表
Dim st As XLS.Style = WB.NewStyle \'日期列的显示格式
st.Format = "yyyy-MM-dd"
For c As Integer = 0 To nms.length -1
    Sheet(8, c).Value = caps(c) \'指定列标题
    Sheet.Cols(c+8).Width = szs(c) \'指定列宽
    If dt.Cols(nms(c)).IsDate Then \'如果是日期列
        Sheet.Cols(c + 8).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 +10, c).Value = dt.rows(r)(nms(c))
    Next
Next

此主题相关图片如下:qq截图20200520104820.png
按此在新窗口浏览图片

用其他的形式都是提示这个出错提示,不知是什么回事

--  作者:有点蓝
--  发布时间:2020/5/20 11:18:00
--  
XLS.Sheet和Wb.Sheets不能混用,前者是foxtable自己定义的类型,后者是execl vba类型,不是同一个东西。
--  作者:zhuxinhui
--  发布时间:2020/5/20 11:27:00
--  
Dim App As New MSExcel.Application
Dim Wb As MSExcel.Workbook = App.WorkBooks.Add
Wb.WorkSheets(1).name = "对帐单"
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets("对帐单")
Ws.Activate

头都晕了,查了成日了,
要怎样改


--  作者:有点蓝
--  发布时间:2020/5/20 12:04:00
--  
参考:http://www.foxtable.com/webhelp/topics/1148.htm,去掉vba 的用法
--  作者:zhuxinhui
--  发布时间:2020/5/21 8:59:00
--  
从狐表导出指定区域的内容到指定EXCEL表指定的区域,有相关的案例吗?想不通,得学习下相关案例
--  作者:有点蓝
--  发布时间:2020/5/21 9:26:00
--  
4楼的额帮助就是,如果看不懂,请上传实例说明问题
--  作者:zhuxinhui
--  发布时间:2020/5/21 10:04:00
--  
4楼导出来的是一个新表,而不是导出指定的表,及指定的区域,用到数组会比较好些
--  作者:zhuxinhui
--  发布时间:2020/5/21 10:07:00
--  
指的区域4楼是可以,现在就是导出指定的工作表
--  作者:有点蓝
--  发布时间:2020/5/21 10:10:00
--  
1、导出旧表:
Dim Book As New XLS.Book
改为
Dim Book As New XLS.Book("c:\\xxx.xls")

2、指定区域,自己控制Sheet(0, c)的索引就行了:Sheet(行索引, 列索引).value = xxxx

--  作者:zhuxinhui
--  发布时间:2020/5/21 10:27:00
--  
做着对帐单,在做表头时已新增一个EXCEL文件,现在想把狐表数据据导出到新增文件,但是融合不了,Dim Book As New XLS.Book("c:\\xxx.xls")这句的文件名要改改才行