精华内容
下载资源
问答
  • 1.直接复制到word,然后根据页面视图、阅读视图、web版式视图,对表格进行缩短
    1.直接复制到word,然后根据页面视图、阅读视图、web版式视图,对表格进行缩短
    
    展开全文
  • def copy_table_from_excel_to_word(): import time from win32com import client excel = client.Dispatch('Excel.Application') word = client.Dispatch('Word.Application') doc = word.D...
    def copy_table_from_excel_to_word():
        import time
        from win32com import client
    
        excel = client.Dispatch('Excel.Application')
        word = client.Dispatch('Word.Application')
    
        doc = word.Documents.Open('C:\\Users\\Administrator\\Desktop\\test.docx')
        wb = excel.Workbooks.Open('C:\\Users\\Administrator\\Desktop\\tav.xlsx')
        sheet = wb.Worksheets(1)
    
        tn = sheet.Cells(2, 1).value
        start_row = 2
        end_row = 2
        # 循环 把Excel第一列值一样的选中复制到word中
        while True:
            if sheet.Cells(start_row, 1).value = '':
                print('finish')
                break
            if sheet.Cells(end_row + 1, 1).value == tn:
                end_row += 1
            else:
                print(tn)
                word.Selection.InsertAfter('\n%s\n' % tn)
                word.Selection.InsertAfter('%s\n' % sheet.Cells(start_row, 2).value)
                time.sleep(0.3)
                _ = word.Selection.MoveRight()
                time.sleep(0.3)
                _ = sheet.Range('C1:H1').Copy()
                word.Selection.PasteExcelTable(False, True, False)
                time.sleep(0.3)
                _ = sheet.Range('C%d:H%d' % (start_row, end_row)).Copy()
                word.Selection.PasteExcelTable(False, True, False)
                time.sleep(0.3)
                
                start_row = end_row + 1
                end_row += 1
                tn = sheet.Cells(start_row, 1).value
    
        doc.Close()
        wb.Close()

    com对象的各种属性和方法参考:

    https://docs.microsoft.com/zh-CN/office/vba/api/word.paragraphformat

    展开全文
  •  Dim MyWord As Word.Application  Set MyWord = New Word.Application    MyWord.Application.ScreenUpdating = False  MyWord.Application.Visible = True  MyWord.Application.DisplayAlerts = ...
    Function Test()  '使用双字典
        
        SearchPath = FolderDialog("请选择文件夹")
        If SearchPath = "" Then
            Exit Function
        End If
        WordName = SplitPath(CStr(SearchPath), 1)
        
        
        Dim sFile As Object, fso As Object
        Set fso = CreateObject("Scripting.FileSystemObject")
        
        Set logFile = fso.CreateTextFile(SearchPath & WordName & "日志.txt", True)
        
        Dim MyWord As Word.Application
        Set MyWord = New Word.Application
        
        MyWord.Application.ScreenUpdating = False
        MyWord.Application.Visible = True
        MyWord.Application.DisplayAlerts = wdAlertsNone
        
        Set myDoc = MyWord.Documents.Add
        With MyWord.ActiveDocument.PageSetup
            .Orientation = wdOrientLandscape '纸张方向横向
        End With
        
        
        
        Dim CGType() As String '动态数组
        ReDim Preserve CGType(7)
        CGType(0) = "控制点"
        CGType(1) = "界址点"
        CGType(2) = "界址边长"
        CGType(3) = "房角点"
        CGType(4) = "房屋边长"
        CGType(5) = "房屋面积"
        CGType(6) = "巡查"
        
        
        Dim ExcelApp As Object
        If Tasks.Exists("Microsoft Excel") = True Then Tasks("Microsoft Excel").Close
        Set ExcelApp = CreateObject("Excel.Application")
        Dim wkBook As Object   '代表excelworkbook(也就是excel工作簿文件 .xls  .xlsx)
        Dim wkSheet As Object  '代表excel的工作页
        ExcelApp.Application.EnableEvents = False '禁止宏等提示的运行
        ExcelApp.Application.DisplayAlerts = False
        ExcelApp.Application.CutCopyMode = False
        
        
        Dim DicList, FileList, CunDic, I, FileName(), FilePath()
        Dim excelPath As String
        Set DicList = CreateObject("Scripting.Dictionary")
        Set FileList = CreateObject("Scripting.Dictionary")
        
        DicList.Add SearchPath, ""  '初始化目录
        
        '**************遍历一级目录 获取路径和村名*******************
        
        Do While I < DicList.Count
            Key = DicList.keys '本次要遍历的目录
            NowDic = Dir(Key(I), vbDirectory) '开始查找
            Do While NowDic <> ""
                If (NowDic <> ".") And (NowDic <> "..") Then
                    If (GetAttr(Key(I) & NowDic) And vbDirectory) = vbDirectory Then '找到子目录,则添加
                        If Not DicList.Exists(Key(I) & NowDic & "\") Then
                            DicList.Add Key(I) & NowDic & "\", NowDic
                        End If
                    End If
                End If
                NowDic = Dir() '再找
            Loop
            Exit Do
            
        Loop
        '****************************************************
        
        
        '********************获取村所对应的文件夹和子文件夹********************************
        Set CunDic = CreateObject("Scripting.Dictionary")
        k = DicList.keys
        v = DicList.Items
        For I = 0 To DicList.Count - 1
            If Not v(I) = "" Then
                CunMin = v(I)
                '加入村名 放在文件字典里
                If Not FileList.Exists(CunMin) Then
                    FileList.Add CunMin, ""
                End If
                'FileList.RemoveAll
                '*********************遍历村名下所有的文件夹*****************************
                CunDic.RemoveAll
                CunDic.Add k(I), ""
                J = 0
                Do While J < CunDic.Count
                    Key = CunDic.keys '本次要遍历的目录
                    NowDic = Dir(Key(J), vbDirectory)
                    Do While NowDic <> ""
                        If (NowDic <> ".") And (NowDic <> "..") Then
                            If (GetAttr(Key(J) & NowDic) And vbDirectory) = vbDirectory Then '找到子目录,则添加
                                If Not CunDic.Exists(Key(J) & NowDic & "\") Then
                                    CunDic.Add Key(J) & NowDic & "\", ""
                                End If
                            End If
                        End If
                        NowDic = Dir() '再找
                    Loop
                    J = J + 1
                Loop
                '***************************************************
                
                '******************************在村名下对应的所有目录下搜索XLS文件*******************************
                
                For Each Key In CunDic.keys '查找所有目录中的控制点文件
                    
                    For m = 0 To UBound(CGType) - 1
                        If m <= UBound(CGType) - 2 Then
                            NowFile = Dir(Key & "*" & CGType(m) & "*.xls")
                        Else
                            NowFile = Dir(Key & "*" & CGType(m) & "*.docx")
                        End If
                        Do While NowFile <> ""
                            If Not FileList.Exists(CunMin) Then
                                FileList.Add CunMin, Key & NowFile 'FileList.Key=文件名,FileList.Item=目录
                            Else
                                If FileList.Item(CunMin) = "" Then
                                    FileList(CunMin) = Key & NowFile
                                Else
                                    FileList.Item(CunMin) = FileList.Item(CunMin) & "@" & Key & NowFile
                                End If
                            End If
                            NowFile = Dir()
                        Loop
                    Next
                Next
            End If
        Next
        '*********************************************************************************************
        FileName() = FileList.keys
        FilePath() = FileList.Items
        
        
        For m = 0 To FileList.Count - 1
            
            element = FileName(m)
            excelPathArray = Split(FileList(element), "@")
            '**********记录日志  7文件是否缺少文件******************************
            For x = 0 To UBound(CGType) - 1
                boolFind = False
                For y = 0 To UBound(excelPathArray)
                    excelPath = excelPathArray(y)
                    If InStr(excelPath, CGType(x)) > 0 Then
                        boolFind = True
                        Exit For
                    End If
                Next
                If Not boolFind Then
                    logFile.WriteLine (element & "缺少" & CGType(x) & "成果")
                End If
            Next
            
            '************************************************************************
            For n = 0 To UBound(excelPathArray)
                excelPath = excelPathArray(n)
                extention = SplitPath(excelPath, 2)
                If StrComp(extention, "xls", vbTextCompare) = 0 Then
                    
                    Set wkBook = ExcelApp.Workbooks.Open(excelPath)
                    Set wkSheet = wkBook.Worksheets(1)
                    lastRowCount = ExcelApp.ActiveSheet.UsedRange.Rows.Count
                    lastColumnCount = ExcelApp.ActiveSheet.UsedRange.Columns.Count
                    lastEnColumnCount = ChgNumToABC(lastColumnCount)
                    
                    excelrowcolumn = lastEnColumnCount & CStr(lastRowCount)
                    'Dim rng As Object
                    'Set rng = wkSheet.Range("A1:" & excelrowcolumn)
                    'rn.Copy
                    MyWord.Activate
                    
                    With MyWord
                        If n = 0 Then
                            MyWord.Application.Selection.InsertBefore Text:=element
                            MyWord.Application.Selection.ParagraphFormat.OutlineLevel = wdOutlineLevel1
                            MyWord.Application.Selection.EndKey Unit:=wdLine, Extend:=wdMove
                        End If
                        wkSheet.Range("A1:" & excelrowcolumn).Copy
                        'myDoc.Paragraphs(1).Range.PasteExcelTable False, False, False  '粘贴为表格
                        
                        MyWord.Application.Selection.PasteExcelTable False, False, False
                        MyWord.Application.Selection.ParagraphFormat.OutlineLevel = wdOutlineLevelBodyText
                        If n <= UBound(excelPathArray) - 1 Then
                            MyWord.Application.Selection.EndKey Unit:=wdStory, Extend:=wdMove
                            MyWord.Application.Selection.Range.InsertAfter (vbCrLf)
                            'Else
                            'MyWord.Application.Selection.EndKey Unit:=wdStory, Extend:=wdMove
                        End If
                        ExcelApp.Application.Workbooks.Close
                    End With
                    'Set MyWord = Nothing
                ElseIf StrComp(extention, "docx", vbTextCompare) = 0 Then
                    MyWord.Activate
                    Set otherDoc = MyWord.Documents.Open(excelPath)
                    otherDoc.Activate
                    MyWord.Application.Selection.WholeStory
                    MyWord.Application.Selection.Copy
                    myDoc.Activate
                    MyWord.Application.Selection.EndKey Unit:=wdLine, Extend:=wdMove
                   
                    MyWord.Application.Selection.Paste
                    MyWord.Application.Selection.InsertBreak (wdPageBreak)
                    otherDoc.Close
                End If
            Next
        Next
        
        '*************************设置表格居中而非内容居中*************************
        For Each tb In myDoc.Tables
        tb.Rows.Alignment = wdAlignRowCenter
        Next
        '************************************************
        MyWord.ActiveDocument.SaveAs FileName:=CStr(SearchPath) & WordName & ".doc"
        MyWord.ActiveDocument.Close
        MyWord.Application.ScreenUpdating = Ture
        MyWord.Quit SaveChanges:=wdDoNotSaveChanges
        ExcelApp.Application.CutCopyMode = False
        logFile.Close
        Set logFile = Nothing
        Set fso = Nothing
        ExcelApp.Application.Quit
        Set CunDic = Nothing
        Set FileList = Nothing
        Set DicList = Nothing
        Set DicList = Nothing
        Set MyWord = Nothing
        
        MsgBox "Done"
        
    End Function


    'ResultFlag=0 获取路径  'ResultFlag=1 获取文件名     'ResultFlag=2 获取扩展名
    Public Function SplitPath(FullPath As String, ResultFlag As Integer) As String
        Dim SplitPos As Integer, DotPos As Integer
        SplitPos = InStrRev(FullPath, "\")
        DotPos = InStrRev(FullPath, ".")
        Select Case ResultFlag
            Case 0
                SplitPath = Left(FullPath, SplitPos - 1)
            Case 1
                If DotPos = 0 Then
                    If Right(FullPath, 1) = "\" Then
                        FullPath = Left(FullPath, Len(FullPath) - 1)
                        SplitPos = InStrRev(FullPath, "\")
                    End If
                    DotPos = Len(FullPath) + 1
                End If
                SplitPath = Mid(FullPath, SplitPos + 1, DotPos - SplitPos - 1)
            Case 2
                If DotPos = 0 Then DotPos = Len(FullPath)
                SplitPath = Mid(FullPath, DotPos + 1)
            Case Else
                Err.Raise vbObjectError + 1, "SplitPath Function", "无效参数!"
        End Select
    End Function




    Function FolderDialog(strTitle As String) As String    '获取选择文件夹对话框的目录
        Set objShell = CreateObject("Shell.Application")
        Set objDialog = objShell.BrowseForFolder(0, strTitle, 0, 0)
        If Not objDialog Is Nothing Then
            If Right(objDialog.self.Path, 1) = "\\" Then
                FolderDialog = objDialog.self.Path
            Else
                FolderDialog = objDialog.self.Path & "\"
            End If
        Else
            FolderDialog = ""
            MsgBox "没有选择文件夹"
        End If
        Set objDialog = Nothing
        Set objShell = Nothing
    End Function


    '*****************************************************************************
    '将Excel中列数转换为列名(如27列--->AA列)
    '参数:var 列数
    '返回:列名 string
    '*****************************************************************************
    Public Function ChgNumToABC(ByVal var As Integer) As String
        Dim res As String
        Dim remainder As Integer '余数
        Dim quotient As Integer '商
        
        remainder = var Mod 26
        
        If remainder = 0 Then
            var = var - 26
            remainder = 26
        End If
        quotient = var \ 26
        If quotient <> 0 Then
            res = ChgNumToABC(quotient)
        End If
        ChgNumToABC = res & Chr(remainder + 65 - 1)
    End Function


    Function zhzm(num As Long) As String
        Dim inum As Long
        Dim imod As Long
        Application.Volatile
        Do While num
            inum = IIf(num Mod 26 = 0, num \ 26 - 1, num \ 26)
            imod = IIf(num Mod 26 = 0, 26, num Mod 26)
            zhzm = Chr(64 + imod) & zhzm
            num = inum
        Loop
    End Function



    展开全文
  • 如题,excel里可能有多个表格每个表格插入到word的不同位置,复制表格是怎么可以把表格结构和数据一起复制过去,不是只要数据复制,最主要还是要表格结构。
  • 将Excel表格复制到Word

    千次阅读 2019-07-18 09:38:39
    早上帮老板做文档,要把一个...把Excel中的表格复制-粘贴到Word中 第二步: 解决大小不匹配问题的关键一步,点击word中黏贴上去的表格上的任意空白位置,可以看到,word的工具栏中多了一行:表设计 布局, 点击布...

    早上帮老板做文档,要把一个Excel表格贴到Word中做展示。

    直接复制贴进来吧,表格大小和word不匹配。截图贴进来吧,表之大,一张截不下,最后通过万能的度娘找了一个完美粘贴表格的方案~

    第一步:

    把Excel中的表格复制-粘贴到Word中

    第二步:

    解决大小不匹配问题的关键一步,点击word中黏贴上去的表格上的任意空白位置,可以看到,word的工具栏中多了一行:表设计 布局, 点击布局,选择自动调整-根据窗口自动调整表格,搞定~

    展开全文
  • Excel表格复制到word

    千次阅读 2015-07-03 11:09:19
    经常会遇到这样的情况,需要在word漂亮的显示excel中的表格,但是直接复制调整难度比较大。 我们可以先在Word中插入等同列和等同行。 然后选中这个表格,根据word中的设计,设计一个拉风的表格。 之后要选中...
  • Word:Excel表格复制到Word中超出边界

    万次阅读 2019-01-10 16:52:12
    将该Excel表格插入Word中,可能会出现显示不全的问题,如下图所示。 1. 修改显示方式 注意:该方法仅用于阅读而让表格显示完整。 具体包括两种方法: 在顶部的菜单栏中,点击【视图】-【Web版式视图...
  • Word复制表格样式变化问题

    千次阅读 2019-02-22 10:22:16
    在2016版本word中,点击表格复制如图1。  图1 ——复制表格word的空白处粘贴,样式变化,毫无规律可言…如图2。  图2——粘贴,样式变化 二.解决方法 2.1)复制的时候要连上下回车都复制一个,如图3。  图3...
  • 问题:将word1中的表格复制到word2中,表格出现变形。 解决办法:1.先选中word1中的表格,然后选择复制;  2.在word2中粘贴刚才复制表格;  3.选中word1中的表格,在选中格式刷;  4.再word2中将表格用格式...
  • 在以前的文章中,我分享了如何使用免费控件将word表格中的数据导入excel中,在本篇文章中我将介绍如何将Excel表格复制到Word表格中,并同时保留原Excel表格的格式。
  • pdf中的表格怎么复制到word

    千次阅读 2020-07-06 16:10:56
    在我想直接引用PDF文档中的表格数据到word中时,无法通过正常的复制粘贴得到正常的表格形式。接下来介绍以下,如何解决这个问题。 步骤一:新建一个空的txt文件,将pdf中表格的数据复制粘贴txt文件中,如下图所...
  • 我看见有表格我就全选了网页上的东西,不知道怎么回事,有些地方word里面没有边框,我当时纠结了好久,解决办法就是选择word里面的表格左上角有一个图标,点击无边框,在点击所有边框就好了,你们是不是觉得特别的...
  • 首先,我们打开一个表格超出页面的word文档,如图所示; 然后我们点击表格左上角的那个按钮,如图所示,这样我们就选中了整个表格; 然后我们右击,弹出的界面,我们将鼠标放在自动调整的地方; ...
  • 本人是一个工作了五六年的酱油...0x00 问题:工作中遇到了一个让我很尴尬的问题,word中的表格复制到excel中就变形了。 例如: 序号 c++ python c java ...
  • NPOI导出word,NPOI导出word表格,NPOI复制table表格 XWPFDocument中XWPFTable 使用NPOI可以对Word中的文本做替换,当遇到表格时,单个表格也可以循环遍历替换,但是如果需要根据数据源的条数,动态生成多个表格时...
  • POI操作WORD表格系列--复制表格,填充数据

    万次阅读 多人点赞 2018-07-30 18:08:06
    这两天公司要求用POI生成word模板数据,基本上就是利用WORD书签往指定位置填充数据和表格。按理来说,用freemark会更容易和简单一些,因为POI对WORD的写入实在是不敢恭维。 言归正传,好歹也按要求将报告按模板生成...
  • 问题:将word1中的表格复制到word2中,表格出现变形。 解决办法:1.先选中word1中的表格,然后选择复制; 2.在word2中粘贴刚才复制表格; 3.选中word1中的表格,在选中格式刷; 4.再word2中将表格用格式...
  • 一、在EXCEL中取消表格线,然后复制,再粘贴到WORD。 二、在EXCEL中复制(带表格线),在WORD中选择性粘贴,选“无格式文本”。 三、粘贴到WORD后有表格的话,选中表格(单击表格左上角的表格标志),表格-转换-...
  • java poi实现病历数据的word导出(包括word模板的使用、复制表格复制行、插入图片的使用) 1.实现的效果 实现病人基本信息、多条病历数据、多项检查项图片的动态插入(网络图片) [外链图片转存失败(img-xiVmRGdl...
  • 项目中用生成word报表,报表中有表格的合并 、页眉、表格中会有报表图片。然后查找了网上的资料,利用echar生成柱状图,然后已base64串的方式发给后台,在后台解析成字节数组 ,利用poi生成到word文档中。
  • python excel表格word表格

    千次阅读 2019-04-08 09:39:22
    朋友有这种需求,网上搜了搜没搜就自己撸了一个,格式要求第一行是列名剩下的是内容。 https://github.com/zr8657/ExcelToWord # -*- coding: utf-8 -*- from imp import reload from openpyxl import load_...
  • 从ppt、网页等其他地方复制到word中的表格线总是存在粗细不一或者线条很粗不能调细的问题。在表格的边框和底纹选项里面调整线条粗细怎么也调不细。问题的根结不在边框和底纹选项里面,而在“表格——表格自动套用...
  • word里边的表格怎么弄ppt里
  • (1)word表格前面有一行文字描述,当表格行数或内容增多时,该一行文字描述被挤到表格后面了。 (2)word表格行数或内容增多时,表格压在了页脚上面。 2、问题产生原因 (1)至今不清楚为何? (2)由word...
  • 选中整个表格,格式 → 边框和底纹 → 边框,设置选择“无”,应用于选择“段落”,每个单元格里面的横线就掉了。
  • 一些情况下需要将表格内容转成word文档格式中查看的时候,很多都是直接用复制粘贴的方法,来将表格内容转到word中。如何表格内容太大,复制起来也是很麻烦的,那么有什么方法可以快速地将excel转换成word文档吗? ...
  • Java如何制作带表格word文档

    千次阅读 2020-08-05 17:44:10
    设置和添加表格有关操作 写在最前 首先您需要导入WordGo的jar包或者写上maven仓库的坐标,最新版直接去git下载就好:https://github.com/qrpcode/wordgo/blob/master/README_CN.md 表格计算行列时,全部和我们平时...
  • 数据插入到word表格中并导出word模板,下载word模板。
  • 作者: 吴水亭  |  Stata连享会   Stata 现场培训报名中…… 君生我未生,我生君已老;... 每次折腾论文表格时,总是痛恨自己手慢,更怨骂万恶的 Word 排版。 然而,偶拾...
  • 利用Python将excel数据读取到word表格

    千次阅读 2019-09-28 19:00:18
    在工作中可能需要两者对excel和word进行转化,今天介绍例如Python 将excel转word表格 看图,我需要将这份excel文档转word表格: 思路: 1、创建需要的表格; 2、读取excel文档; 3、将excel文档数据写入word...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 97,499
精华内容 38,999
关键字:

怎么复制表格到word