单元格-vb.net 读取多个excel表中的数据填到新建的excel表中,

问题描述

vb.net 读取多个excel表中的数据填到新建的excel表中,
Option Explicit On
Module Module1
Public Function MergeXlsFile(ByVal strPath As String Optional ByVal SheetCount As Byte = 1) As Boolean
Dim i As Integer
Dim strSrcFile As String
Dim nRows As Long nCols As Long nSheets As Byte nNewRows() As Integer
Dim xlApp As Object xlSrcBook As Object xlNewBook As Object xlSheet As Object xlRange As Object
Dim numarr As System.Array
On Error Resume Next
If Right(strPath 1) <> """" Then strPath = strPath & """" '如果需要合并文件中的工作表数量小于1则退出
'如果需要合并文件中的工作表数量小于1则退出

If SheetCount < 1 Then Exit Function
'删除掉该路径下原来的合并文件
If Dir(strPath & ""合并后的文件.xls"") <> """" Then Kill(strPath & ""合并后的文件.xls"")
'获得第1个XLS文件
strSrcFile = Dir(strPath & ""*.xls"")
'如果文件不存在则退出
If Len(strSrcFile) = 0 Then Exit Function
'创建一个Excel实例
xlApp = CreateObject(""Excel.Application"")
'新建一个工作簿

    xlNewBook = xlApp.Workbooks.Add    '调整新建工作簿里工作表的数量    ReDim nNewRows(0 To SheetCount)    For i = 0 To SheetCount - xlNewBook.Sheets.Count        xlNewBook.Sheets.Add()        xlNewBook.Sheets(xlNewBook.Sheets.Count)    Next    '循环查找当前路径下的所有XLS文件    Do        '打开找到的XLS文件        xlSrcBook = xlApp.Workbooks.Open(strPath & strSrcFile)        '循环复制源XLS文件里的工作表        nSheets = IIf(xlSrcBook.Sheets.Count < SheetCount xlSrcBook.Sheets.Count SheetCount)        For i = 1 To nSheets            xlSheet = xlSrcBook.Sheets(i)            '获得源XLS文件中第i个工作表实际数据的行列数            nRows = xlSheet.range(""i2"").value            nCols = xlSheet.UsedRange.Columns.Count            '使用范围对象粘贴源XLS文件数据到合并结果文件中            xlRange = xlSheet.Range(xlSheet.Cells(7 1) xlSheet.Cells(nRows + 7 nCols)).ToString            xlRange.Select()            xlRange.Copy()            xlNewBook.Sheets(i).Cells(nNewRows(i) + 1 3).PasteSpecial(&HFFFFEFF8)            '保存合并结果文件中第i个工作表的行数            nNewRows(i) = xlNewBook.Sheets(1).UsedRange.Rows.Count        Next        '关闭打开的源XLS文件        xlSrcBook.close()        '继续查找下一个XLS文件        strSrcFile = Dir()    Loop Until Len(strSrcFile) = 0    '保存并关闭合并结果文件    xlNewBook.SaveAs(strPath & ""合并后的文件.xls"")    xlNewBook.Close()    '退出Excel实例    xlApp.quit()    '释放资源    Erase nNewRows    xlRange = Nothing    xlSheet = Nothing    xlNewBook = Nothing    xlSrcBook = Nothing    If Err.Number = 0 Then MergeXlsFile = TrueEnd Function

End Module
button 调用模块。复制的功能实现了。就是因为原单元格中有公式。可是复制过来统一列退后两行。但是公式还是制定原来的单元格,读取的值就变不一样了。该怎么办能把之前的单元格只读出value。然后填入。

解决方案

用range.value2试试看

时间: 2024-08-23 21:16:06

单元格-vb.net 读取多个excel表中的数据填到新建的excel表中,的相关文章

vb.net的datagridview中,如何点击指定列的任意单元格之后,弹出一个窗体来修改本行数据

问题描述 vb.net的datagridview中,如何点击指定列的任意单元格之后,弹出一个窗体来修改本行数据 大神们,求救啊!!我在VB.NET 中的datagridview中显示了数据库中部分信息,怎么通过点击更多字样来弹出另一个窗体 并在这个新窗体中修改那一行里的信息,并传回数据可库?大概就是实现这样的功能 解决方案 http://www.cnblogs.com/milo_yu/archive/2010/04/19/1715291.html

jQuery Easyui DataGrid点击某个单元格即进入编辑状态焦点移开后保存数据_jquery

废话不多说了,直接给大家贴代码了. 关键代码如下所示: /// 最近一次使用编辑行 一切正常 ///<summary> ///初始化数据容器 ///</summary> function InitGrid(){ var lastIndex; $("#grid").datagrid({ url:'', loadMsg:'数据加载中,请稍后......', border:false, fitColumns:true, remoteSort:false, onDblC

客户端调用服务器端的excel模板,并向此excel中特定的单元格中写入数据,最后将这个excel文件保存在客户端机器上或打印,而服务器端excel模板不变

问题描述 bs模式,vs2008,sql2005工作中遇到一个难题,向大家请教:我自己先做好excel模板,比如说"检定证书模版.xlsx",主要是设置好表头.第一列.以及表的底部的各种格式,然后将此文件放到服务器网站的文件下的一个文件夹内.客户端通过浏览器进行操作,并将从数据库把数据调入上面的模板中.通过点击一个按钮,客户端就可以完成保存此excel文件并可以直接打印.这个过程中我会从sqlserver数据库中读取到符合要求的数据,并写入到此excel文件中的特定单元格里,单元格是固

知识共享图文直播---(一)将数据库中的数据加载到MSFlexGrid控件中再导入Excel

        熟话说万物皆有其存在的道理,为什么我突然想写<知识共享图文直播>这个系列呢?首先,我想的是记录自己学习的历程,在记录中加深自己对知识的理解,同时也希望自己的博文能帮助到其他数据库的初学者.其次,这也算借鉴了其他人的一个好的想法吧.         一.我们所处的环境               1.看窗体布局                          2.了解目标表                                二.数据导入MSFlexGrid控件中 [

将DBGrid中的数据导出到Word和Excel

昨天ccrun刚写了将ListView中内容导出到Word文档和Excel文档的一篇文章,今天写程序凑巧用到了将DBGrid中数据导出到Office的功能,干脆再写个兄弟版的函数出来,DBGrid2Word和DBGrid2Excel,分别实现将DBGrid中数据导出到Word和Excel文档.需要注意的是DBGrid中的数据并不代码数据库中所有的数据,因为数据集在打开的时候有可能进行了筛选,取决于使用者如何打开这个数据集,总之就是DBGrid中显示多少数据,就导出多少.看在写代码很辛苦的份上,请

如何用vb.net语言将datagridview中的数据以数组的形式在程序中显示

问题描述 我用vb.net将.csv文件在datagridview中显示出来,现在想把数据用数组的形式显示,怎么编写代码 解决方案 解决方案二:可以将DataGridView单元格的数据赋给一个二维数组,但数组是用来存储数据的,显示就不行了解决方案三:那怎样编写代码,进行赋值呢????解决方案四:DimSum(n,m)asString'n,m即单元格总行.列数-1Fori=0TonForj=0TomSum(i,j)=DataGridView1.Item(j,i).ValueNextNext

将控件中的数据输出保存到本地excel或word中,同时保存图片到本地(c#)

excel|word|控件|数据 //把table控件中的数据保存到excel或word public void Save(System.Web.UI.Control source, DocumentType type) { Response.Clear(); Response.Buffer= true; //设置Http的头信息,编码格式 if (type == DocumentType.Excel) { //Excel Response.AppendHeader("Content-Dispo

DataGrid中的数据导入到Word和Excel

datagrid|excel|word|数据 using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.Htm

读取excel文件里面的数据问题,第一次处理excel数据,请大家帮忙

问题描述 如何读取未保存的excel里面的数据,比如我excel原先A1的值是"test"但我改变了他的值"test123"保存的数据我是可以读取到的,但未保存的要该怎么办?请大家帮忙 解决方案 解决方案二:Mark解决方案三:需要添加对Excel的引用,需要引用命名空间usingSystem.Runtime.InteropServices;代码如下objecto=null;try{o=Marshal.GetActiveObject("Excel.Appl