注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

樱之花

叶散的时候,你明白欢聚;花谢的时候,你明白青春.

 
 
 

日志

 
 
关于我

分类中“我的实验室”是我在日常工作中的一些知识总结,有些写的比较匆忙,可能大家在阅读时会产生困扰,后期有时间我会重新整理编辑,谢谢大家的到访,您们的支持是我前进的动力!

网易考拉推荐

将MSFlexGrid中的数据导出到Excel的问题  

2007-08-13 08:42:09|  分类: Visual Basic |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

我在将MSFlexGrid中的数据导出到Excel时,遇到以下问题:
1、怎么合并excel中的单元格?
2、怎么设置excel某列的宽度?
3、怎么格式化某列数据(对齐方式或者日期数值格式设置)?

操作Excul的常用方法和属性

  1.创建Excel对象

  eole=CREATEOBJECT("Excel.application")

  2.添加新工作簿

  eole.Workbooks.add

  3.设置第3个工作表为激活工作表

  eole.Worksheets("sheet3").Activate

  4.打开指定工作簿

  eole.Workbooks.Open("c:\temp\ll.xls")

  5.显示Excel窗口

  eole.visible=.t.

  6.更改Excel标题栏

  eole.Caption="VFP应用程序调用Microsoft Excel"

  7.给单元格赋值

  eole.cells(1,4).value=XM(XM为数据库字段名)

  8.设置指定列的宽度(单位:字符个数)

  eole.ActiveSheet.Columns(1).ColumnWidth=5

  9.设置指定行的高度(单位:磅)

  eole.ActiveSheet.Rows(1).RowHeight=1/0.035

  (设定行高为1厘米,1磅=0.035厘米)

  10.在第18行之前插入分页符

  eole.Worksheets("Sheet1").Rows(18).PageBreak=1

  11.在第4列之前删除分页符

  eole.ActiveSheet.Columns(4).PageBreak=0

  12.指定边框线宽度(Borders参数如下)

  ole.ActiveSheet.Range("b3:d3").Borders(2).Weight=3

  13.设置四个边框线条的类型

  eole.ActiveSheet.Range("b3:d3").Borders(2).LineStyle=1

  (其中Borders参数:1-左、2-右、3-顶、4-底、5-斜、6-斜/;LineStyle值:1与7-细实、2-细虚、4-点虚、9-双细实线)

  14.设置页眉

  eole.ActiveSheet.PageSetup.CenterHeader="报表1"

  15.设置页脚

  eole.ActiveSheet.PageSetup.CenterFooter="第&P页"

  16.设置页眉到顶端边距为2厘米

  eole.ActiveSheet.PageSetup.HeaderMargin=2/0.035

  17.设置页脚到底边距为3厘米

  eole.ActiveSheet.PageSetup.FooterMargin=3/0.035

  18.设置顶边距为2厘米

  eole.ActiveSheet.PageSetup.TopMargin=2/0.035

  19.设置底边距为4厘米

  eole.ActiveSheet.PageSetup.BottomMargin=4/0.035

  20.设置左边距为2厘米

  veole.ActiveSheet.PageSetup.LeftMargin=2/0.035

  21.设置右边距为2厘米

  eole.ActiveSheet.PageSetup.RightMargin=2/0.035

  22.设置页面水平居中

  eole.ActiveSheet.PageSetup.CenterHorizontally=.t.

  23.设置页面垂直居中

  eole.ActiveSheet.PageSetup.CenterVertically=.t.

  24.设置页面纸张大小(1-窄行8 5 11 39-宽行14 11)

  eole.ActiveSheet.PageSetup.PaperSize=1

  25.打印单元格网线

  eole.ActiveSheet.PageSetup.PrintGridlines=.t.

  26.拷贝整个工作表

  eole.ActiveSheet.UsedRange.Copy

  27.拷贝指定区域

  eole.ActiveSheet.Range("A1:E2").Copy

  28.粘贴

  eole.WorkSheet("Sheet2").Range("A1").PasteSpecial

  29.在第2行之前插入一行

  eole.ActiveSheet.Rows(2).Insert

  30.在第2列之前插入一列

  eole.ActiveSheet.Columns(2).Insert

  31.设置字体

  eole.ActiveSheet.Cells(2,1).Font.Name="黑体"

  32.设置字体大小

  eole.ActiveSheet.Cells(1,1).Font.Size=25

  33.设置字体为斜体

  eole.ActiveSheet.Cells(1,1).Font.Italic=.t.

  34.设置整列字体为粗体

  eole.ActiveSheet.Columns(1).Font.Bold=.t.

  35.清除单元格公式

  eole.ActiveSheet.Cells(1,4).ClearContents

  36.打印预览工作表

  eole.ActiveSheet.PrintPreview

  37.打印输出工作表

  eole.ActiveSheet.PrintOut

  38.工作表另为

  eole.ActiveWorkbook.SaveAs("c:\temp\22.xls")

  39.放弃存盘

  eole.ActiveWorkbook.saved=.t.

  40.关闭工作簿

  eole.Workbooks.close

  41.退出Excel

  eole.quit


1.合并单元格:
xSheet.Range("A1:I1").MergeCells = True '合并第一行单元格,从A列到I列
 
2.设置列宽
xSheet.Columns("A:A").ColumnWidth = 7.25
xSheet.Columns("B:B").ColumnWidth = 11
xSheet.Columns("C:C").ColumnWidth = 7.75
xSheet.Columns("D:D").ColumnWidth = 7.5
xSheet.Columns("E:E").ColumnWidth = 18.88
xSheet.Columns("F:F").ColumnWidth = 8
xSheet.Columns("G:G").ColumnWidth = 8.25
xSheet.Columns("H:H").ColumnWidth = 8.5
xSheet.Columns("I:I").ColumnWidth = 7.88

3.格式设置:
xSheet.Cells(3, 2).NumberFormatLocal = "@" '使第3行第2列的输入格式变为“文本”型。
xSheet.Columns("A:A").NumberFormatLocal = "[DBNum1]yyyy""年""m""月""d""日""" '设置第一列的格式为日期格式(二零零五年十月二十三日)

其实你可以自己录制宏就能得到自己想要的代码:
菜单的"工具"->"宏"->"录制新宏",然后开始对Word操作,完了在"宏"->"Visual Basic编辑器"->"模块"里的模块就有你录制的过程的代码,把需要的代码稍微修改就可以直接应用到vb里。

  评论这张
 
阅读(1532)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017