1:打开wps文件,你首先要了解wps文件头的定义格式,一般vb不是特别的好
为酉阳土家族苗族等地区用户提供了全套网页设计制作服务,及酉阳土家族苗族网站建设行业解决方案。主营业务为成都网站设计、网站建设、酉阳土家族苗族网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
实现,因为牵扯到位操作,vb对wei操作不是特别的灵活,这个功能最好使
用c或者c++语言来实现,执行效率要高的多。
2:使用vb
api函数:getfullpathname
Public
Declare
Function
GetFullPathName
Lib
"kernel32"
Alias
"GetFullPathNameA"
(ByVal
lpFileName
As
String,
ByVal
nBufferLength
As
Long,
ByVal
lpBuffer
As
String,
ByVal
lpFilePart
As
String)
As
Long
可以在窗体上放一个Lable控件,取名叫Lable1, 那么实现方式就是: private sub form_load() Lable1.Text="今天天气很好"; end sub 你可以试试!
Private Sub Command1_Click()
Dim Rs_Data As New ADODB.Recordset
Dim Irowcount As Integer
Dim Icolcount As Integer
Dim FILENAME As String
Set Rs_Data = Adodc1.Recordset
Dim xlApp As New Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Dim xlQuery As Excel.QueryTable
CommonDialog1.Filter = ".xls(*.*)|*.xls"
CommonDialog1.Action = 2
Text3.Text = CommonDialog1.FILENAME
If Text3.Text "" Then
With Rs_Data
If .RecordCount 1 Then
MsgBox ("羶衄暮翘!")
'Exit Function
End If
'暮翘軞杅
Irowcount = .RecordCount
'趼僇軞杅
Icolcount = .Fields.Count
End With
Set xlApp = CreateObject("Excel.Application")
Set xlBook = Nothing
Set xlSheet = Nothing
Set xlBook = xlApp.Workbooks().Add
Set xlSheet = xlBook.Worksheets("sheet1")
xlApp.Visible = False 'Excel婓缀怢堍俴
'氝楼脤戙逄历ㄛ绛EXCEL杅擂
Set xlQuery = xlSheet.QueryTables.Add(Rs_Data, xlSheet.Range("a1"))
With xlQuery
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
End With
xlQuery.FieldNames = True '珆尨趼僇靡
xlQuery.Refresh
With xlSheet
.Range(.Cells(1, 1), .Cells(1, Icolcount)).Font.Name = "洼极"
'扢梓枙峈洼极趼
.Range(.Cells(1, 1), .Cells(1, Icolcount)).Font.Color = H80000012
'扢梓枙趼极晇伎
.Range(.Cells(1, 1), .Cells(1, Icolcount)).Interior.Color = H80FFFF
'扢梓枙掖劓晇伎
.Range(.Cells(1, 1), .Cells(1, Icolcount)).RowHeight = 25
'扢梓枙俴询
.Range(.Cells(1, 1), .Cells(1, Icolcount)).Font.Bold = True
'梓枙趼极楼棉
.Range(.Cells(1, 1), .Cells(Irowcount + 1, Icolcount)).Borders.LineStyle = xlContinuous
'扢桶迹晚遗欴宒
End With
With xlSheet.PageSetup
.LeftHeader = "" Chr(10) """翱极_GB2312,都寞""10鼠侗靡备ㄩ" ' Gsmc
.LeftHeader = "" Chr(10) """翱极_GB2312,都寞""10苀数奀洁ㄩ"
.CenterHeader = """翱极_GB2312,都寞""踱湔陇牉""冼极"
.RightHeader = "" Chr(10) """翱极_GB2312,都寞""10等弇ㄩ"
.LeftFooter = """翱极_GB2312,都寞""10秶桶ㄩ" Ygxm
.CenterFooter = """翱极_GB2312,都寞""10秶桶ㄩ" Date
.RightFooter = """翱极_GB2312,都寞""10菴P珜仆N珜"
End With
FILENAME = Text3.Text
xlBook.SaveAs (FILENAME) '怅湔恅璃
xlApp.Quit
Set xlApp = Nothing
MsgBox "Expor To Excel OK! "
Else
MsgBox "恁寁恅璃靡睿怅湔PATH"
End If
End Sub
如何从web页面导入excel单元格数据、又如何把查询出来的数据放到web页面上显示成客户需要的图表?并且导出到excel中?
有两种方案:
1.用Excel自动化技术。
引用Excel的类型库生成.Net的包装类。导入时采用页面放上传文件按钮的方法,在服务器端收到文件后,用excel自动化类打开excel文件,再学会VBA语法,书写大量的代码读取单元格,然后连接数据库保存。导出时,查询数据库,启动excel自动化对象,通过VBA语法填写单元格,保存成excel文件,再用Response.OutputStream输出到页面上,触发excel文件的下载保存框。缺点:容易在服务器端产生excel死进程,代码编写复杂、代码量大、还要掌握VBA语法,用户需要上传、下载操作
有人会说,显示数据时可以用网页直接显示,不用导出成excel。其实也很麻烦:用网页显示复杂的报表格式,网页设计工作量大;如果客户要求导出excel,这个工作就省不了;如果客户要求打印、打印预览、页面设置,比起excel浏览器的打印就捉襟见肘了。
2.用微软Office中间件——SOAOffice。(建议使用最新版的)
用SOAOffice输出Excel,就不会再有上述烦恼。通过SOAOffice不仅能够动态填充excel,读取excel单元格,而且还能在浏览器里直接浏览excel、或者下载、另存。SOAOffice提供标准C#.Net组件,组件在服务器端不使用自动化调用,稳定支持大量web并发访问,这是用com调用无法实现的。组件的属性方法都比较简单,易于调用,你完全不用去掌握复杂的VBA调用。
由于是纯.Net组件,所以服务器端不需安装office。 SOAOffice的excel组件SOAExcel含有Sheet、Cell等类似Excel的简化接口,调用简单。SOAExcel不但能能把数据库字段值动态填充到Excel单元格,还能把用户输入的单元格的值提出给开发者保存到数据库。
SOAExcel能够在客户端浏览器的网页里通过SOAOffice直接显示生成的Excel,用户不必先下载再打开观看内容。
举个导出excel的例子:
SOAOfficeX.ExcelResponse SOAExcel = new SOAOfficeX.ExcelResponse();
SOAOfficeX.ExcelResSheet sheet1 = SOAExcel.openSheet("Sheet1"); // 打开一个Sheet
sheet1.openCell("D"+String.valueOf(8+i)).setValue(rs.getString("Count")); //循环填充数据。
SOAOfficeX.SOAOfficeCtrl SOACtrl = new SOAOfficeX.SOAOfficeCtrl(response);
SOACtrl.assign(SOAExcel); // 绑定数据
// 打开模板并生成最终的excel报表
SOACtrl.webOpen("doc/test.xls", 1, UserName, "Excel.Sheet");
上述代码不但动态填充生成excel,而且在网页里直接显示生成的Excel给终端用户,由于使用了1打开模式,Excel是只读显示的。
读取excel单元格的代码也很简单:
SOAOfficeX.ExcelRequest SOAExcel = new SOAOfficeX.ExcelRequest();
SOAOfficeX.IExcelReqSheet sheetOrder = SOAExcel.OpenSheet("销售订单");
SOAOfficeX.IExcelReqCell cell1;
cell1 = sheetOrder.OpenCell("I5");//订单编码
string sOrderNum = cell1.Value;//cell1.Value就是读取的结果