Foxtable(狐表)用户栏目专家坐堂 → 狐表导出到Excel时,能否不导出狐表的列名?


  共有17133人关注过本帖树形打印复制链接

主题:狐表导出到Excel时,能否不导出狐表的列名?

美女呀,离线,留言给我吧!
yangming
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/8/24 20:00:00 [显示全部帖子]

  下面的代码去掉红色部分

Dim dt As Table = Tables("订单")
Dim
Book As New XLS.Book '定义一个Excel工作簿
Dim
Sheet As XLS.Sheet = Book.Sheets(0) '引用工作簿的第一个工作表
Dim
Style As Xls.Style = Book.NewStyle '新建一个样式
Style.BackColor = Color.Red '样式的背景颜色设为红色
For c As Integer = 0 To dt.Cols.Count -1 '添加列标题
    Sheet(0, c).Value = dt.Cols(c).Name
Next
For r As Integer = 0 To dt.Rows.Count - 1 '填入数据
   
For c As Integer = 0 To dt.Cols.Count -1
        Sheet(r +1, c).Value = dt.rows(r)(c)
    Next
    If
dt.rows(r)("折扣") >= 0.15 Then '如果折扣大于等于0.15
        Sheet(r + 1,dt.Cols("折扣").Index).Style = Style '设置折扣单元格的样式
   
End If
Next

'打开工作簿

Book.Save("c:\reports\test.xls")
Dim
Proc As New Process
Proc.File = "c:\reports\test.xls"
Proc.Start()


 回到顶部
美女呀,离线,留言给我吧!
yangming
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/8/26 11:14:00 [显示全部帖子]

是模板,那就不要做第一行就是了

 回到顶部
美女呀,离线,留言给我吧!
yangming
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/8/26 11:17:00 [显示全部帖子]

方法

Rows表示工作表的行集合。

主要方法:

  • Add
    增加一行。
    由于行可以自动增加,所以实际上很少用Add方法去增加行的。
     
  • Insert
    在指定位置插入一行。

    语法:

    Insert(Index)

    Index:要插入行的位置。
     
  • RemoveAt
    删除指定位置的行。

    语法:

    RemoveAt(Index)

    Index: 删除行的位置。

示例:

Dim Book As New XLS.Book("c:\reports\test.xls") '定义一个Excel工作簿
Dim
Sheet As XLS.Sheet = Book.Sheets(0) '引用工作簿的第一个工作表
Sheet.Rows.Insert(
0) '在最前面插入一行
Book.Save(
"c:\reports\test.xls")
Dim
Proc As New Process
Proc.File =
"c:\reports\test.xls"

Proc.Start()


 回到顶部
美女呀,离线,留言给我吧!
yangming
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/8/26 11:23:00 [显示全部帖子]

这样,红字就是删除第一行

Dim s As String
For Each cl As Col In Tables( "订单1").Cols '排除隐藏列
   If cl.Visible Then
If s ="" Then
s = cl.Name
Else
 s = s &","& cl.Name
  End If
 End If
Next
Dim Book As New XLS.Book("c:\Data\订单.xls") '定义一个Excel工作簿
Dim Sheet As XLS.Sheet = Book.Sheets(0) '引用工作簿的第一个工作表
Dim ex as New Exporter
ex.SourceTableName = "订单1" '指定导出表
ex.FilePath = "c:\Data\订单.xls" '指定目标文件
ex.Format = "Excel" '导出格式为Excel
 ex.Fields =s '指定导出字段
ex.Filter = "[产品] = 'PD01'" '指定导出条件
ex.Export() '开始导出
Sheet.Rows.RemoveAt(0) '删除第一行
Book.Save("c:\Data\订单.xls")
Dim Proc As New Process
Proc.File = "c:\Data\订单.xls"
Proc.Start()
[此贴子已经被作者于2009-8-26 11:23:48编辑过]

 回到顶部
美女呀,离线,留言给我吧!
yangming
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/8/26 12:46:00 [显示全部帖子]

以下是引用mr725在2009-8-26 11:41:00的发言:
Sheet.Rows.RemoveAt(0) '删除第一行    这个好了,帮助看过了就忘~ 

那么删除列可以这样~:
Sheet.cols.RemoveAt(10) '删除第十一列

是啊,帮助要经常看,就象那时学习老三篇一样,呵呵


 回到顶部