以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]单元格的批注怎么导出excle?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=119062)

--  作者:湛江智
--  发布时间:2018/5/17 8:00:00
--  [求助]单元格的批注怎么导出excle?
如题
--  作者:有点甜
--  发布时间:2018/5/17 8:51:00
--  

1、你说的批注指什么?

 

2、往excel里面添加批注,参考代码

 

Dim App As New MSExcel.Application
Dim Wb As MSExcel.Workbook = App.WorkBooks.Open("d:\\test.xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Ws.Range("1:5").ClearComments \'清除原有批注
Ws.Range("B2").AddComment("批注测试,20140514添加")  \'B2单元格添加批注,注意批注内容在园括号内
app.visible = True

 


--  作者:湛江智
--  发布时间:2018/5/17 9:31:00
--  回复:(有点甜)1、你说的批注指什么? 2、...

坛主帮忙看看,想实现导出狐表单元格的批注、颜色到excle表

打勾号、多表头也一并导出

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:fxz颜色和批注.foxdb


--  作者:有点甜
--  发布时间:2018/5/17 9:58:00
--  

Dim t As Table = Tables("表A")
Dim file As String = "d:\\test123.xls"
Dim flg As New SaveExcelFlags
flg.CellStyle = True
t.SaveExcel(file,t.name,flg)

Dim App As New MSExcel.Application
Dim Wb As MSExcel.Workbook = App.WorkBooks.Open(file)
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Dim Rg As MSExcel.Range = Ws.UsedRange
For Each c As Col In t.Cols
    If c.IsBoolean Then
        For i As Integer = t.HeaderRows+1 To rg.Rows.count
            If ws.cells(i, c.Index+1).value = "false" Then
                ws.cells(i, c.Index+1).value = ""
            Else
                ws.cells(i, c.Index+1).value = "√"
            End If
        Next
    End If
Next
rg.ClearComments \'清除原有批注
For Each r As Row In t.Rows
    Dim Beizhu As String = r("批注列")
    If beizhu > "" Then
        Dim BZs() As String
        BZs = Beizhu.split("|")
        For Index As Integer = 0 To BZs.Length - 1
            Dim BZInfo() As String
            BZInfo =  BZs(Index).split(",")
            Ws.cells(r.index+t.HeaderRows+1, t.Cols(bzinfo(0)).Index+1).AddComment(bzinfo(1))  \'B2单元格添加批注,注意批注内容在园括号内Next
        Next
    End If
    Dim bj As String = r("背景列")
    If bj > "" Then
        Dim BZs() As String
        BZs = bj.split("|")
        For Index As Integer = 0 To BZs.Length - 1
            Dim BZInfo() As String
            BZInfo =  BZs(Index).split(",")
            Dim clr As Color = Color.FromARGB(bzinfo(1))
            Ws.cells(r.index+t.HeaderRows+1, t.Cols(bzinfo(0)).Index+1).Interior.Color = RGB(clr.r, clr.g, clr.b)
        Next
    End If
   
Next
app.visible = True


--  作者:湛江智
--  发布时间:2018/5/17 10:13:00
--  
可以了,谢谢坛主
--  作者:湛江智
--  发布时间:2018/9/3 12:32:00
--  回复:(有点甜)Dim t As Table = Tables("表A")Dim ...
坛主,狐表项目的窗口里面的表列已经把列相同值合并单元格了, 上面代码导出excle,列相同值合并单元格没合并,上面导出excle的代码怎么修改呢?谢谢
[此贴子已经被作者于2018/9/3 14:37:36编辑过]

--  作者:有点甜
--  发布时间:2018/9/3 14:39:00
--  
以下是引用湛江智在2018/9/3 12:32:00的发言:
坛主,列相同值合并单元格,狐表项目的窗口里面的表列已经合并单元格了, 上面代码导出没合并上面代码怎么修改呢?谢谢
[此贴子已经被作者于2018/9/3 14:36:10编辑过]

 

实例发上来测试。