精华内容
下载资源
问答
  • pyexcel.png其中,D2、D3、D4单元格为合并单元格,我们希望第3行和第4行都可以用“诸葛亮”这个值,该怎样读取呢?请往下读环境python3xlrd==1.0.0思路从左往右,一格一格读取单元格如果碰到某个单元格是合并...

    概述

    使用python3读取Excel内容,包含读取纵向合并单元格和横向合并单元格。

    pyexcel.png

    其中,在D2、D3、D4单元格为合并单元格,我们希望第3行和第4行都可以用“诸葛亮”这个值,该怎样读取呢?

    请往下读

    环境

    python3

    xlrd==1.0.0

    思路

    从左往右,一格一格读取单元格

    如果碰到某个单元格是合并单元格,则进行解析

    获取sheet页中所有的合并单元格坐标信息

    判断要读取的该单元格坐标,是否在合并单元格坐标内

    如果在,读取该合并单元格的值并返回

    把读取的值,设置到实体类中

    对实体类进行操作,录入数据库或者其他处理

    难点解析

    获取所有的合并单元格

    使用sheet.merged_cells可以获取页面中所有的合并单元格坐标。类似:

    [(4, 5, 2, 4), (5, 6, 2, 4), (1, 4, 3, 4)]

    格式的数据,(4, 5, 2, 4)的含义为:行 从下标4开始,到下标5(不包含) 列 从下标2开始,到下标4(不包含),为合并单元格,即C5-有勇有谋,单骑救主 这个合并单元格

    判断某一格是否属于合并单元格,如果是,则返回合并单元格的值

    def get_merged_cells_value(sheet, row_index, col_index):

    """

    先判断给定的单元格,是否属于合并单元格;

    如果是合并单元格,就返回合并单元格的内容

    :return:

    """

    merged = get_merged_cells(sheet)

    for (rlow, rhigh, clow, chigh) in merged:

    if (row_index >= rlow and row_index < rhigh):

    if (col_index >= clow and col_index < chigh):

    cell_value = sheet.cell_value(rlow, clow)

    # print('该单元格[%d,%d]属于合并单元格,值为[%s]' % (row_index, col_index, cell_value))

    return cell_value

    break

    return None

    完整代码

    # -*- coding: utf-8 -*-

    import xlrd

    import uuid

    class Student():

    def __init__(self, id, **kw):

    self.id = id

    for k, v in kw.items():

    setattr(self, k, v)

    def __str__(self):

    return '%s(id=%s,column1=%s,column2=%s,column3=%s,column4=%s)' \

    % (

    self.__class__.__name__, self.id, self.column1, self.column2, self.column3,

    self.column4)

    def read_excel():

    # 打开文件

    workbook = xlrd.open_workbook(r'py.xlsx')

    # 获取所有sheet

    print('打印所有sheet:', workbook.sheet_names())

    sheet2 = workbook.sheet_by_index(0) # sheet索引从0开始

    rows_num = sheet2.nrows

    cols_num = sheet2.ncols

    for r in range(rows_num):

    # 一行数据的实体类

    entity_dict = {}

    for c in range(cols_num):

    cell_value = sheet2.row_values(r)[c]

    # print('第%d行第%d列的值:[%s]' % (r, c, sheet2.row_values(r)[c]))

    if (cell_value is None or cell_value == ''):

    cell_value = (get_merged_cells_value(sheet2, r, c))

    # 构建Entity

    the_key = 'column' + str(c + 1);

    # 动态设置各属性值

    entity_dict[the_key] = cell_value

    entity_dict['id'] = getUUID()

    stu = Student(**entity_dict)

    print(stu)

    def get_merged_cells(sheet):

    """

    获取所有的合并单元格,格式如下:

    [(4, 5, 2, 4), (5, 6, 2, 4), (1, 4, 3, 4)]

    (4, 5, 2, 4) 的含义为:行 从下标4开始,到下标5(不包含) 列 从下标2开始,到下标4(不包含),为合并单元格

    :param sheet:

    :return:

    """

    return sheet.merged_cells

    def get_merged_cells_value(sheet, row_index, col_index):

    """

    先判断给定的单元格,是否属于合并单元格;

    如果是合并单元格,就返回合并单元格的内容

    :return:

    """

    merged = get_merged_cells(sheet)

    for (rlow, rhigh, clow, chigh) in merged:

    if (row_index >= rlow and row_index < rhigh):

    if (col_index >= clow and col_index < chigh):

    cell_value = sheet.cell_value(rlow, clow)

    # print('该单元格[%d,%d]属于合并单元格,值为[%s]' % (row_index, col_index, cell_value))

    return cell_value

    break

    return None

    def getUUID():

    return uuid.uuid1().hex

    if __name__ == "__main__":

    read_excel()

    执行结果

    result.png

    Git 地址

    特别鸣谢

    展开全文
  • 单元格是表格中行与列的交叉部分,它是组成表格的最小单位,单个数据的输入和修改都是单元格进行的,下面小编为大家讲一讲excel合并单元格的小方法。 首先我们大家打开excel文档,进入需要编辑的文档,大家也...

    Excel是我们平时记录一些信息、数据经常使用到的一个软件,Excel的单元格是表格中最小单位,可以进行拆分。单元格是表格中行与列的交叉部分,它是组成表格的最小单位,单个数据的输入和修改都是在单元格中进行的,下面小编为大家讲一讲excel合并单元格的小方法。
    首先我们大家打开excel文档,进入需要编辑的文档中,大家也可以打开excel文档进行学习。
    如图:
    在这里插入图片描述

    我们需要选中需要合并的单元格区域,合并只能合并相连的单元格。我使用鼠标左键从单位A1拖到F1,还有一种方法可以使用,就是鼠标选中A1,然后按住Shift键点击到F1的位置,即可选中A1到F1的区域。
    如图:
    在这里插入图片描述

    选中区域后,我们在excel上方的工具栏当中“对齐方式”中选择【合并后居中】选项。
    如图:
    在这里插入图片描述

    我们点击“合并后居中”会弹出一个警示对话框,上面显示“合并单元格时,仅保留左上角的值,而放弃其他值”。
    如图:
    在这里插入图片描述

    我们点击确定即可合并单元格,合并后只保留左上角的值。
    如图:
    在这里插入图片描述

    我们对于多个数据合并要谨慎处理,避免合并后数据丢失。如果是多数据的话我们可以先合并单元格再进行输入数据。希望可以帮助到大家,感谢大家的观看。

    展开全文
  • 如何通过VB合并Excel单元格以及设置Excel行高? 例如:我想把第一列的第4,5,6,7行合并。。。我在怎样合并单元格里的字居中,怎样改变字体。 请不吝赐教。。。 ===========================================...

    如何通过VB合并Excel单元格以及设置Excel行高?

    例如:我想把第一列的第4,5,6,7行合并。。。我在怎样让合并单元格里的字居中,怎样改变字体。 请不吝赐教。。。
    ==========================================================
    
    首先在VB中引用microsoft excel object library
    
    假设c盘根目录下有个1.xls的文件
    …………
    
    
    
    问题补充:
    
    你的要求很简单,
    
    一行指令恐怕不行,
    
    最少要三行
    
    代码如下:
    
    Private Sub Form_Load()
    
    Dim xlApp As Excel.Application
    
    Dim xlBook As Excel.Workbook
    
    Dim xlSheet As Excel.Worksheet
    
    Dim i As Integer
    
    Set xlApp = CreateObject("Excel.Application")
    
    Set xlBook = xlApp.Workbooks.Open("C:\1.xls")
    
    Set xlSheet = xlBook.Worksheets(1) '引用第1张工作表
    
    For i = 3 To 100 Step 3 '想到哪行就把100改成几
    
    xlSheet.Range(Cells(i, 1), Cells(i, 2)).Merge '合并a1:b2单元格
    
    Next
    
    xlSheet.Rows(10).RowHeight = 100 '把第10行高度设为100
    
    xlBook.Save
    
    xlApp.Application.Quit
    
    Set xlApp = Nothing '表忘释放引用
    
    End Sub
    
    运行一下,看看满足要求否。
    
    ===========================================================================================
    
    Sub Macro1()
    
    Range("A4:A7").Select
    With Selection
    .HorizontalAlignment = xlCenter
    .VerticalAlignment = xlCenter
    .WrapText = False
    .Orientation = 0
    .AddIndent = False
    .IndentLevel = 0
    .ShrinkToFit = False
    .ReadingOrder = xlContext
    .MergeCells = False
    End With
    Selection.Merge
    With Selection.Font
    .Name = "隶书"
    .FontStyle = "常规"
    .Size = 12
    .Strikethrough = False
    .Superscript = False
    .Subscript = False
    .OutlineFont = False
    .Shadow = False
    .Underline = xlUnderlineStyleNone
    .ColorIndex = xlAutomatic
    End With
    End Sub

    =========================================================================================

    VB创建Excel表格,合并单元格,生成图形等操作 

    Private Sub Command4_Click()
        On Error Resume Next
     ''''''''''''''''''''''''''''''''''''''''''''''''''''''''Create Excel Table''''''''''''''''''''''''''''''''''''''''''
           Dim xlApp As Excel.Application
            Dim xlBook As Excel.Workbook
            Dim xlSheet As Excel.Worksheet
            Dim xlSheet1 As Excel.Worksheet
            Dim i As Integer, tmHour As String
            ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
            On Error Resume Next
                  
            ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
           Set xlApp = Excel.Application
           Set xlBook = xlApp.Workbooks.Add
            'xlBook.Activate
           Set xlSheet = xlBook.Worksheets(1) '''''''''''''''''''''''''''''''''引用第1张工作表
                xlApp.ActiveSheet.Rows.VerticalAlignment = xlVAlignCenter '''''垂直方向居中
                xlApp.ActiveSheet.Rows.HorizontalAlignment = xlVAlignCenter '''水平方向居中
                xlSheet.Name = "实测值"
             Set xlSheet1 = xlBook.Worksheets(2)
             xlSheet1.Name = "Chart"
           With xlSheet
                 For i = 2 To 11
                    .Range(Cells(1, 1), Cells(1, i)).Merge ''''''''''''''''''''合并A-K单元格
                 Next
                ' .Cells(1, 1).ForeColor = RGB(100, 150, 255)
                 .Cells(1, 1).Font.Size = 25
                 
                 ''''''''''''''''''''''''''设置行高'设置列宽
                 For i = 1 To 22
                    .Rows(i).RowHeight = 25
                 Next
                 For i = 1 To 11
                  .Columns(i).ColumnWidth = 15
                 Next
                 '''''''''''''''''''''''''''合并单元格
                 For i = 3 To 22
                     
                       If i < 8 Then
                            .Range(Cells(3, 1), Cells(i, 1)).Merge '''''''''''合并A3-A7单元格
                            .Range(Cells(3, 8), Cells(i, 8)).Merge '''''''''''合并H3-H7单元格
                       ElseIf i < 13 Then
                            .Range(Cells(8, 1), Cells(i, 1)).Merge
                            .Range(Cells(8, 8), Cells(i, 8)).Merge
                       ElseIf i < 18 Then
                            .Range(Cells(13, 1), Cells(i, 1)).Merge
                            .Range(Cells(13, 8), Cells(i, 8)).Merge
                       ElseIf i < 23 Then
                            .Range(Cells(18, 1), Cells(i, 1)).Merge
                            .Range(Cells(18, 8), Cells(i, 8)).Merge
                       End If
                 Next
                 ''''''''''''''''''''''''''''''''''''''''''''
                .Range("A1", "K22").Borders.LineStyle = xlContinuous '''''''单元格边框
                .Range("A1", "K22").Borders.Color = vbBlue '''''''''''''''''边框颜色
                .Range("A1", "K22").Interior.Color = RGB(100, 180, 0) ''''''区域 背景色
                
                ''''''''''''''''''''''''''''''
                .Range("A1").Value = "iWatt 项目"
                .Range("A1").Font.Color = vbRed ''''''''''''''设置字体颜色
                .Range("A1").Font.Name = "楷书" ''''''''''''''设置字体字型
                .Range("A1").Font.Size = 30 ''''''''''''''''''设置字体字号
                 '''''''''''''''''''''''''''''''''''''''
                .Range("A2").Value = "输入电压(VAC)"
                .Range("B2").Value = "输入功率(W)"
                .Range("C2").Value = "输出电压(V)"
                .Range("D2").Value = "输出电流mA)"
                .Range("E2").Value = "输出功率(W)"
                .Range("F2").Value = "纹波电压(A)"
                .Range("G2").Value = "效率(%)"
                .Range("H2").Value = "过流点(A)"
                .Range("I2").Value = "初级到次级功率损耗(W)"
                .Range("J2").Value = "平均功率%"
                .Range("K2").Value = "需符合CEC标准"
                '''''''''''''''''''''''''''''''''''电压值
                .Range("A3").Value = "90"
                .Range("A8").Value = "115"
                .Range("A13").Value = "230"
                .Range("A18").Value = "264"
                '''''''''''''''''''''''''''''''''''负载值
                
                .Range("D3").Value = "0"
                .Range("D4").Value = "1/4 Load"
                .Range("D5").Value = "2/4 Load"
                .Range("D6").Value = "3/4 Load"
                .Range("D7").Value = "Full Load"
                .Range("D8").Value = "0"
                .Range("D9").Value = "1/4 Load"
                .Range("D10").Value = "2/4 Load"
                .Range("D11").Value = "3/4 Load"
                .Range("D12").Value = "Full Load"
                .Range("D13").Value = "0"
                .Range("D14").Value = "1/4 Load"
                .Range("D15").Value = "2/4 Load"
                .Range("D16").Value = "3/4 Load"
                .Range("D17").Value = "Full Load"
                .Range("D18").Value = "0"
                .Range("D19").Value = "1/4 Load"
                .Range("D20").Value = "2/4 Load"
                .Range("D21").Value = "3/4 Load"
                .Range("D22").Value = "Full Load"
         End With
            tmHour = "-" & Hour(Time)
            tmHour = tmHour & "-" & Minute(Time)
            tmHour = tmHour & "-" & Second(Time)
            xlApp.ActiveWorkbook.SaveAs App.Path & "\" & Format(Date, dddd, mmmm, yyyy) & tmHour + ".xls"
            xlApp.Workbooks.Close
            xlApp.Quit
            Set xlApp = Nothing '释放引用
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''写入数据'''''''''''''''''''''''''''''''''''''''''''''
    Dim j, LengthTXT, k, Num, NEXCEL As Integer
    Dim StrTxt As String
    On Error Resume Next
    '''''''''''''''''''''''''''计算数组的围数 NUM
        LengthTXT = Len(Text1.Text)
        StrTxt = Text1.Text
        Num = 1
        For i = 1 To LengthTXT
           If Mid(Text1.Text, i, 1) = "," Then
              Num = Num + 1
           End If
        Next
         ReDim StrDataArray(Num)  '重定义围数
    '''''''''''''''''''''''''''''''''''''''''''
    ''''''''''''''''''''''''''''''赋值给数组 StrDataArray
        If Num = 1 Then
            StrDataArray(Num) = StrTxt
        Else
            For i = 1 To LengthTXT
                StrData = StrData & Mid(StrTxt, i, 1)
                k = k + 1
                If Mid(StrTxt, i, 1) = "," Then
                    j = j + 1
                    StrDataArray(j) = Left(StrData, k - 1)
                    StrData = ""
                    k = 0
                End If
                  StrDataArray(Num) = StrData
            Next
        End If
    '    '''''''''''''''''''''''''''''check StrDataArray(i)
    '    For i = 1 To Num
    '    MsgBox StrDataArray(i) & "  " & i
    '    Next
        '''''''''''''''''''''''''''''''''''数值分段存储到数组,每组为一个实测值
        Dim TowArray() As String
        Dim WS, N As Integer
        WS = Num \ 4 '''''''''''''''''围数
        ReDim TowArray(WS, 4)
         For i = 1 To Num - 2
            N = i \ 4
            For j = 1 To 4
              'If i \ 4 = 0 Then
                TowArray(N + 1, j) = StrDataArray(j + 4 * N)
             ' End If
            Next
         Next
        
    '    ''''''''''''''''''''''''''''''''check  TowArray(N + 1, j)
    '    For i = 1 To WS
    '      MsgBox TowArray(i, 1) & TowArray(i, 2) & TowArray(i, 3) & TowArray(i, 4)
    '    Next
    '    ''''''''''''''''''''''''''''''''''数值转换
        ''''第4个字节转换为2进制


    ReDim ByteDataString(WS)
        For i = 1 To Num \ 4
           'MsgBox TowArray(i, 4) MsgBox CStr(TowArray(i, 4))
           ByteDataString(i) = HexToByte(CStr(TowArray(i, 4))) '''''转换为2进制,8位
           'MsgBox ByteDataString(i) & " " & i
    Next
        '''''''''''''''''''''''''''''''''''''''''''''''

        ''''''''''''''''打开Excel 文件!
        Dim filename As String
        With CommonDialog1
            .DialogTitle = "打开Excel文件"

            .Filter = "(Excel)*.xls| *.xls"
            .ShowOpen
            filename = .filename
           ' MsgBox filename
        End With
        '''''''''''''''''''''''''
        Dim xllApp As Excel.Application
        Dim xllBook As Excel.Workbook
        Dim xllSheet As Excel.Worksheet
        Dim xllSheet1 As Excel.Worksheet
        Dim StrRow As String
    'Dim i As Integer
        Set xllApp = CreateObject("Excel.Application")
        Set xllBook = xllApp.Workbooks.Open(filename)
        Set xllSheet = xllBook.Worksheets(1) '引用第1张工作表
        Set xllSheet1 = xllBook.Worksheets(2)
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''将数据写入到Excel单元格中

        With xllSheet
            For i = 1 To WS
                 NEXCEL = i
                 StrRow = "B" & CStr(i + 2)
                ' MsgBox ByteDataString(i) '& StrRow
                .Range(StrRow).Value = ValueOfData(ByteDataString(i), NEXCEL) '''''设置一个返回函数
            Next
        End With
        Set ct = xllApp.Worksheets("Chart").ChartObjects.Add(100, 40, 300, 350) '插入图形''位置(10,40)为图形位置,(220,120)为图形的大小
        ct.Chart.ChartType = xlLineStacked 'xlColumnClustered '块状图 'xl3DColumnStacked '立體直條圖'xl3DPie '图形类型为饼图
        ct.Chart.SetSourceData Source:=Sheets("实测值").Range("B3:B6"), PlotBy:=xlColumns
        With ct.Chart
             .HasTitle = True
             .ChartTitle.Characters.Font.Size = 20
             .ChartTitle.Characters.Text = "折线图" '图表标题为饼图
             .ChartTitle.Shadow = True ''''''标题添加边框
        End With
         ct.Chart.ApplyDataLabels 2, True '标志旁附图例项标志***  标志数值
            xllBook.Save
            xllApp.ActiveWorkbook.Save
            xllApp.Application.Quit
        Set xllApp = Nothing '表忘释放引用
    End Sub

    展开全文
  • 在EXCEL中,单个的单元格是无法拆分的,你最多在其中增加一条斜线,方法是右键点单元格,选“设置单元格格式”,在“边框”选项卡中有。 如果选取多个单元格,你可以合并,也可以拆分,方法是右键点单元格,选...
    在EXCEL中,单个的单元格是无法拆分的,你最多在其中增加一条斜线,方法是右键点单元格,选“设置单元格格式”,在“边框”选项卡中有。
    如果选取多个单元格,你可以合并,也可以拆分,方法是右键点单元格,选“设置单元格格式”,在“对齐”选项卡中,最下面有“合并单元格”选项,在它前面打勾就是合并单元格,去掉勾就是拆分单元格。 
    方法1:选中要拆分或合并的单元格..右键设置单元格格式..对齐..文本控制..合并单元格前打勾勾..就可以合并了..去掉勾勾就恢复..
    方法2:选中要拆分或合并的单元格..选择上面的格式里的单元格格式..之后操作和方法1一样.. 

    excel中如何绘制斜线表头

    方法一:利用单元格格式中的边框实现
      1.利用单元格中分行的效果:首先在单元格中输入“性别”,这时候如果按回车键的话,光标就会转到其他单元格中去,所以必须按“Alt+回车键”,光标转到下一行,接着输入“姓名”,然后再在“性别”前加入若干空格(或插入文本框分别输入性别、姓名),达到效果。
      2.在单元格中设置斜线:选择单元格,在右键菜单中选择“设置单元格格式”,在出现的对话框中选择“边框”标签,进行斜线的设置。
      优势:能够比较迅速地绘出标准的斜线表头。
      劣势:只能在单元格中画出对角斜线,并不能画出任意斜线。
    方法二:利用绘图工具实现,这也是大家比较常用的一种方式。
      首先在Excel中选择一个单元格,然后打开Excel的“绘图”工具栏,单击该工具栏的“直线”图标,将所需要的线段全部画在工作表上,并调整好合适的位置,可以为表格创建出任意样式的斜线表头来。下面我们就说明具体制作。
      1.制作字符文本框 注意:为了能在斜线区域中方便地调整字符位置,使字符在斜线区域中合理地布局,需要将每一文本框中设定只有一个字符。其原因也很简单,这样能尽可能减小表头空间大小,从而将表头做得更加紧凑。使用“方框”按钮可以方便地在斜线上下方添加文字,但文字周围有边框,要想取消,可选中文字框,调出快捷菜单,选择“对象格式”→“图案”,选择“无边框”即可。
      2.创建直线对象 单击“绘图”按钮,选取“直线”,鼠标变成十字形状,将直线移至要添加斜线的开始位置,按鼠标左键拖动至终止位置,释放鼠标,斜线就画出来了。
      3.组合斜线表头 在组合斜线表头时,最好按照从上到下的次序进行。利用“Shift+点击”选中表头的对象,单击右键,选择“组合”即可。
      首先,将一条直线放入表头中,单击鼠标使直线出现编辑点,然后分别拖动线段两端的编辑点,将直线与斜线表头表格线上的相应位置相重合,然后在该线的中段产生一个新的编辑点,将直线拖放到表格线的相应位置上; 这样斜线区域就设置好了;最后,再添加该斜线区域中的标题字符或图像,这一区域的全部操作就完成了。
      优势:能够实现各种不规则的斜线表头。
      劣势:对于初学者来说难度颇高,需要一定的技巧。
    方法三:粘贴Word中已制好的斜线表头
      对于Word中有多种添加斜线表头的方式,如“表格”菜单中的“绘制斜线表头”即有多种样式,也可按上述方法操作绘制斜线表头,完成大家熟悉的表头制作后,复制到Excel中,同样可达到相应的效果。
      优势:这种方法最为简便,也很省力。
      劣势:Word只提供了五种斜线表头样式,选择范围有限。

    如何删除WORD空白页

    1.如果是回车空行过多造成空白页,很简单删除空行就行了。

    2.可以先在空白页上段文字的末尾先点下鼠标,在自动空白页下段文字的开头,按住shift的时候再点下鼠标,选择空白页,再删除.

    3.如果是插入分页符造成的空白页,少的话,删除分页符就行,就是到空白页顶部按退格键。

    4.如果分页符很多,可以编辑》》替换》》高级》》特殊字符》》人工分页符》》全部替换就可以了。

    5.如果是你画了一个表格,占了一整页,造成最后一个回车在第二页删不了,可以将表格缩小一点或者将上面或者下面页边距设小一点,在文件》》页面设置中,上下的数字改小一点。

    6.将鼠标放在前一页的最后,用DEL健删除。如果空白面是最后一页,且鼠标在第一行,可选“格式”-“段落”,将这一行的行距设为固定值1磅,该空白页将自动消失。

    另:1、WORD里插入的表格,默认的就是在表格后面要保留一行,只能将此行的行距尽可能的缩小来减少行空白的显示,若想彻底删除它,先显示分页符,即在Word的左下角调整到“普通视图”状态,这时分页符就出现了,直接删除即可。

        2、可能你最后几行文字的格式有问题,把他们的字体行距之类调一下应该可以,如果确实不可以的话你在打印的时候直接在第一页按ctrl+p调出打印对话框之后选择打印当前页就可以了,不会打出后面的空白页的

    任务管理器关不掉

    双击任务管理器的边缘就可以恢复正常。

    怎么样才能把word文档中的表格的底板色消除

    点击word上头的“格式”下拉,再点击“边框和底纹”,进去后,再选择“底纹”,然后在颜色图层最上面选择“无填充颜色”,最后点确定就好了

    word文档的底版弄成一张整的图案

    先找到一张足够大的图案.单击格式--背景--填充效果,在弹出的对话框中选择图片项--选择图片……。然后找到已经准备好的图案就OK了~

    下载的WORD文档不能修改怎么办?

    方法一:

           1、右击该Word文档→打开方式→写字板。

           2、点击写字板中的文件菜单→另存为→文件类型选择为RTF文档,然后取个文件名,保存即可(注意:保存的时候不要忘记把文件名名后面的.doc去掉)。

           3、然后再用Word软件打开该文件就可以进行正常的编辑操作了

           4、最后再将你编辑好的文档再另存为Word文档即可

          说明:其实在上面第一步中,如果文档用写字板打开后能够进行编辑的话,可以直接将里面的内容复制出来就可以了。

          方法二:(简单有效)

            启动word文档,新建一个空白文档,执行“插入文件”命令,打开“插入文件”对话框,定位到需要解除保护的文档所在的文件夹,选中该文档,单击“插入”按钮,将加密保护的文档插入到新文档中,文档保护会被自动撤销。

          方法三:

           打开文档后,将其另存为XML文件,然后用UltraEdit(或者EditPlus,下载华军里搜索一下就行了)这个编辑软件打开刚刚存储的 XLM文件,查找<w:documentProtection……w:unprtectPassword="******"/>,这个 “******"是可变的。只需要找到这段文字,然后删掉<w……/>这一段,保存退出,即可解除文档的密码保护。

          方法四:

           将受保护能查看不能修改的文档,另存为,再弹出的保存窗口中选择“保存类型”为“word97-2002"格式,保存后。再关掉word,重新打 开,刚刚保存的文件,选择“工具”中“解除文档保护”即可编辑、修改这个文件了。

              以上的四种方法都能够实现我们能看不能编辑的文档的保护密码的解除,大家 可以用自己最为方便和习惯的使用方法。

            在使用Word进行文档保护时,我们经常会使用到窗体保护(工具->保护文档(P)...),用窗体保护最为彻底,用户无法编辑,也无法进行Copy&Paste操作。但是,Word文档的漏洞可以让你用很简单的方法去掉这个密码,我们自己来测试一下:

            首先创建一个Word文档,使用窗体保护的方式保护文档,工具->保护文档(P)...->核对“仅允许在文档中进行此类编辑”- >选择“填写窗体”,此时会弹出一个密码框,输入两次密码(我这里选择123作为Word文件密码),这样,该文档就已经被保护起来了。

            然后我们来破解它,打开刚才创建的Word文档,文件->另存为->选择XML格式,存为一个XML文档,用记事本打开该XML文件,搜 索“w:UnprotectPassword“(引号内的内容,或直接搜索Password),你会看到5BCECF7A的字样(如果你的密码用的是 123的话)。接着我们用UltraEdit32或其他类似的工具打开最初受保护的Word文档,查找7ACFCE5B(注意是倒序,搜索时可能需选择“正则表达 式”选项),查找到后,都用8个0来代替,存盘。此时,Word文档的密码就被清空了,你就可以自己取消文档保护了,密码就不用输入了,按个回车即可。

             MS 还没有对这个漏洞提供补丁,我觉得短期可能还无法解决这个问题,建议以后的文档不要用这个东西进行保护了。

            如何取消Word文档保护密码总结如下:

            打开加密文档,另存为网页或XML格式文件,用记事本打开,查找“w: UnprotectPassword”,记下离散后的密码,如A1B2C3D4 用UltraEdit32等二进制编辑器打开Word文档,查找D4C3B2A1(倒序,可能需选择“正则表达式”选项),替换为00 00 00 00此时已经取消密码了,打开文档,直接取消文档保护即可。

    展开全文
  • 用鼠标右键单击需要拆分的单元格,然后弹出列表选择“设置单元格格式”,弹出的“单元格格式”里面“对齐”的下面将“合并单元格”前面的钩去掉,然后点下拉按钮,将第一行的内容复制到下面两行就可以了。
  • 因为我平常工作中整理数据会经常需要批量合并单元格,所以我各处学习,整理了如下批量合并相同内容单元格的方法,以下有WPS的应用截图,也有excel的...下面我想介绍一下怎样excel中相同单元格合并起来的小方法。问...
  • 怎么给Excel中的一列数据根据数据大小添加序号,并且不改变原来的排序rank 排名就可以在excel中怎样自动生成一列序号1,2,3,4,5,.....1、首先打开需要操Excel表格,在下图所示的表格的A3、A4单中输入,1和2。...
  • Excel做报表的时候,经常要把一列的数据复制粘贴到另一列,但是如果目标列有合并单元格的话,比如要把A列的数据复制粘贴到D列粘贴的时候就会遇到麻烦,那么要怎样才能准确又快速的复制粘贴呢?其实可以用...
  • TO: walkingpoison 和其他asp高手 首先感谢walkingpoison帮小妹找到了方向。还有以下两个问题,望好汉们给予解答。 1.怎样用asp控制excel表格的边框,...我在Excel里面录制了一下,对C3:E6单元格进行操作。宏的代码
  • 这是Excel数据表格进行数据处理时经常可能遇到的一个场景,如果是用 Python 做数据处理应该怎样解决呢?今天我们就来演示一下。2020最新python学习资源分享:1156465813一行拆多行上面这个问题我会提供两个思路...
  • EXCEL表格中怎样将文字完全显示

    千次阅读 2018-10-10 09:54:12
    如图所示,A1的文字没有完全显示,解决方法如下: ...2、选择“对齐”,文字控制,有“自动换行”“缩小字体填充”“合并单元格”三项可选,都能达到目标,按自己希望的选项设置即可。   法三: ctrl+1...
  • excel的图标横坐标怎么更改以及怎样合并单元格1、电子表格图表的横坐标根据提供的数据源而确定,制作图表时,根据图表向导第二步“系列”,“分类(X)轴标志”框内输入作为横坐标的单元格数据区域,完成。...
  • Excel表格中怎样提取字符串中的特定字符。除了直接输入外,从已存在的单元格内容中提取特定字符输入,绝对是一种省时又省事的方法,特别是对一些样式雷同的信息更是如此,比如员工、籍贯等信息。下图中是将人员姓名...
  • 工作常常会将不同类别的数据放在不同的工作表或工作簿,然后需要将这些数据汇总到一个表怎样实现多表求和呢?历史文章写到公式法汇总求和,本例...方式一:合并计算汇总工作表界面,鼠标选中A1单元格...
  • 这一招轻松搞定“合并单元格筛选时只筛选出第一条记录”的难题如何批量向下填充空白单元格?表哥表妹必会技巧!如何正确地提问才能得到群友的帮助?这款免费对账软件十秒钟对完一万条,秒杀收费软件,Excel冷门但...
  • 上一次主要介绍了滥用空格和空行带来的麻烦,今天继续讨论不规范的表头...因为在Excel默认的规则,表格第1行为标题行,多行表头会给后续的数据处理与分析(如排序、筛选、分类汇总等)操作带来麻烦。麻烦一:套用...
  • 打开表格的第一眼看到的便是表头,它就如同人的容貌,打扮的精致会给人留下深刻的印象,表头做的精致一是方便工作,二是给人...方法1:定位单元格准备工作(空白列[H和I列]错位添加数字1,方便定位)——定位单元格...
  •   实际工作避免不了要导出EXCEL,导出...通过一个实例演示怎样通过POI设置Excel单元格的边框、字体、颜色、大小、下划线、合并、对齐方式。希望对你能够有帮助。 运行后的效果图如下: Java代码如下: packa...
  • Excel的使用方法

    2019-10-02 12:04:37
    2.Excel怎样合并两个列中的文本内容 目标列单元格的输入框中输入“=CONCATENATE(A2,B2,C2)” eg:把ExceL中A4,F4两列数据以等号连接:"=CONCATENATE(A4,"=",F4)" 如何将G列公式形式变成数值:选中G列数据>复制>...
  • EXCEL函数公式集

    热门讨论 2010-03-16 03:26:38
    如何在EXCEL中快速定位最后一行数据 用SUN函数快速求和 在Excel中快速查看所有工作表公式 在Excel中设置行间距 怎样同时改变多行行高 快速换行 让文本换行 在Excel中行列快速转换 将原有列中的内容倒置过来 快速回到...
  • word中怎样插入自动计时的时间

    千次阅读 2010-10-13 23:32:00
    word中怎样插入...    word菜单->插入->对象->工作表 这样就出来一个EXCEL工作表了. 然后在单元格中输入=DAYS360("2010/10/13",NOW())(把能看到的单元格合并了,字体变大), 就可以了.
  • 如何在EXCEL中快速定位最后一行数据 用SUN函数快速求和 在Excel中快速查看所有工作表公式 在Excel中设置行间距 怎样同时改变多行行高 快速换行 让文本换行 在Excel中行列快速转换 将原有列中的内容倒置过来 快速回到...
  • 我们都知道,excel是由行和列组成的那你知道到底有多少行多少列吗你知道怎么能快速移动吗你知道怎么快速移动复制单元格吗你知道怎样快速拆分和合并数据吗如果你不知道没关系今天就教大家一些excel的神操作小技巧!...
  • 7.1.3 合并单元格使报销单规范化 7.1.4 使用自动换行让单元格内文字不拥挤 7.1.5 插入行添加报销单标题 常见问题 差旅费报销范围的界定 7.1.6 设置单元格文字的格式 7.1.7 使用“边框”对话框添加框线 经验分享 如何...
  • 相信大家对Excel中表格的一些基本处理已经都很熟练了,那么编辑器里怎样执行这些操作呢? 一、增删行与列 1.右键单击表格,弹出的菜单中点击“表格”,然后二级菜单中选择删除、增加行与列等操作。前后左右都...
  • 实例083 DataGridView控件实现合并单元格 116 实例084 DataGridView控件显示图片 118 实例085 为DataGridView控件实现复选功能 120 实例086 禁用DataGridView控件列表头自动排序 122 2.9 其他控件...
  • word使用技巧大全

    热门讨论 2011-03-18 20:37:53
    29、在Excel中复制上一单元格 88 30、清除拼写功能 88 31、Word表格后空白页的处理 88 32、改变图片形状 88 33、编辑线段顶点 88 34、开关网格线 88 35、在Word中快速改变行距 88 36、在Word中快速选取段落 88 37、...
  • 本书是第I卷,以开发人员项目开发经常遇到的问题和必须掌握的技术为中心,介绍了应用Visual C++进行程序开发各个方面的知识和技巧,主要包括编程基础、界面设计、应用程序控制和图形图像。全书分4篇15章,共计...
  • 本书是第I卷,以开发人员项目开发经常遇到的问题和必须掌握的技术为中心,介绍了应用Visual C++进行程序开发各个方面的知识和技巧,主要包括编程基础、界面设计、应用程序控制和图形图像。全书分4篇15章,共计...

空空如也

空空如也

1 2
收藏数 40
精华内容 16
关键字:

在excel中怎样合并单元格