精华内容
下载资源
问答
  • Excel 单元格合并

    2012-10-16 15:46:01
    C# Excel 单元格合并Excel 相关操作, 3分大甩卖了,走过路过不要错过,好资料。
  • python进行excel单元格合并逆操作。利用anaconda3中的 pandas对包含合并单元格的表进行预处理,完成取消合并单元格的操作。目标通过处理表格A,得到表格B。图1(通过处理表格A,得到表格B)处理过程1.对表A进行取消...

    python进行excel单元格合并逆操作。利用anaconda3中的 pandas对包含合并单元格的表进行预处理,完成取消合并单元格的操作。

    目标

    通过处理表格A,得到表格B。

    图1(通过处理表格A,得到表格B)

    处理过程

    1.    对表A进行取消合并单元格操作:

    开始->取消合并单元格。得到如下表格:

    图2:取消单元格合并操作

    2.    合并单元格操作的逻辑

    A列依赖B列;B列依赖C列;C列是最后一级,不需要填充,空就是空。

    B列中的空格填什么:由其上面和C列决定。

    具体算法是从右到左,从上到下:

    2.1.    如果其为空,并且其右边有值,不为空,则需要填充,填充的值为其上面的值,比如B[3], 其值为空,并且B[3]的右边值为C[3](高温),不为空,则需要填充,填充的值为其上面的值B[2](自然灾害)。

    2.2.    如果其为空,并且其右边的值为空,则不需要填充。

    对应的代码

    图3:合并单元格逆操作

    扩展

    可扩展到含有多列的excel 表格。比如6列,那么多执行几次fulfill_jth_columns就行了:

    fulfill_jth_columns(rows, 4)

    fulfill_jth_columns(rows, 3)

    fulfill_jth_columns(rows, 2)

    fulfill_jth_columns(rows, 1)

    fulfill_jth_columns(rows, 0)

    极牛网投稿文章《python进行excel单元格合并逆操作》文中所述为作者独立观点,不代表极牛网立场。如若转载请注明出处:https://jikenb.com/12349.html

    展开全文
  • Excel单元格合并

    2014-01-15 11:06:30
    Sub 合并单元格()  Dim colNum, rowNum, i, m As Integer  Dim val As String  val = MsgBox("是否要合并项目,资金账号,类别和品种列重复并连续的单元格?", vbYesNo)  If val = vbNo Then  Exit Sub

    合并前: 合并后:


    合并宏:

    Sub 合并单元格()
        Dim colNum, rowNum, i, m As Integer
        Dim val As String
        val = MsgBox("是否要合并项目,资金账号,类别和品种列重复并连续的单元格?", vbYesNo)
        If val = vbNo Then
            Exit Sub
        End If
        colNum = 4
        rowNum = Cells(65535, colNum).End(xlUp).Row
        If Range("A2").MergeCells = True Or Range("B2").MergeCells = True Then
            Exit Sub
        End If
        
        i = 1
        While i <= rowNum
        
          If Cells(i, 4) = "账号合计" Then
              Range(Cells(i, 3), Cells(i, 3)).ClearContents         
              Range(Cells(i, 3), Cells(i, 4)).Merge                         
              
              Range(Cells(i, 3), Cells(i, 4)).VerticalAlignment = xlCenter
              Range(Cells(i, 3), Cells(i, 4)).HorizontalAlignment = xlCenter
              Range(Cells(i, 3), Cells(i, 4)).Interior.Color = RGB(192, 192, 192)
          End If
          i = i + 1
        Wend
        
        i = 1
        colNum = 1
        While i < rowNum
            m = 1
            While Cells(i + m, colNum) = Cells(i, colNum)
                m = m + 1
            Wend
          
            If m = 1 Then
                i = i + 1
            Else
                Range(Cells(i + 1, colNum), Cells(i + m - 1, colNum)).ClearContents
                Range(Cells(i, colNum), Cells(i + m - 1, colNum)).Merge
                Range(Cells(i, colNum), Cells(i + m - 1, colNum)).VerticalAlignment = xlCenter
                Range(Cells(i, colNum), Cells(i + m - 1, colNum)).HorizontalAlignment = xlCenter
                i = i + m
            End If
        Wend
        
        i = 1
        colNum = 2
        While i < rowNum
            m = 1
            While Cells(i + m, colNum) = Cells(i, colNum)
                m = m + 1
            Wend
          
            If m = 1 Then
                i = i + 1
            Else
                Range(Cells(i + 1, colNum), Cells(i + m - 1, colNum)).ClearContents
                Range(Cells(i, colNum), Cells(i + m - 1, colNum)).Merge
                Range(Cells(i, colNum), Cells(i + m - 1, colNum)).VerticalAlignment = xlCenter
                Range(Cells(i, colNum), Cells(i + m - 1, colNum)).HorizontalAlignment = xlCenter
                i = i + m
            End If
        Wend
        
        i = 1
        While i <= rowNum
        
          If Cells(i, 4) = "项目合计" Then
              Range(Cells(i, 2), Cells(i, 3)).ClearContents           
              Range(Cells(i, 2), Cells(i, 4)).Merge                  
              
              Range(Cells(i, 2), Cells(i, 4)).VerticalAlignment = xlCenter
              Range(Cells(i, 2), Cells(i, 4)).HorizontalAlignment = xlCenter
              Range(Cells(i, 2), Cells(i, 4)).Interior.Color = RGB(192, 192, 192)
          End If
          i = i + 1
        Wend
        
    End Sub




    展开全文
  • POI实现EXCEL单元格合并及边框样式 下面例子为创建产生一个excel,合并单元格,然后为合并后的单元格添加边框 package test; import java.io.FileOutputStream; import java.io.IOException; import org....

    POI实现EXCEL单元格合并及边框样式

    下面例子为创建产生一个excel,合并单元格,然后为合并后的单元格添加边框

    package test;
     
    import java.io.FileOutputStream;
    import java.io.IOException;
     
    import org.apache.poi.hssf.usermodel.HSSFCell;
    import org.apache.poi.hssf.usermodel.HSSFCellStyle;
    import org.apache.poi.hssf.usermodel.HSSFRow;
    import org.apache.poi.hssf.usermodel.HSSFSheet;
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;
    import org.apache.poi.ss.usermodel.BorderStyle;
    import org.apache.poi.ss.usermodel.Font;
    import org.apache.poi.ss.usermodel.HorizontalAlignment;
    import org.apache.poi.ss.util.CellRangeAddress;
    import org.apache.poi.ss.util.RegionUtil;
     
    public class ExcelPoiTest {
     
    	public static void main(String[] args) {
    		HSSFWorkbook workbook = new HSSFWorkbook();  // 创建一个excel
    		// excel生成过程: excel-->sheet-->row-->cell
    		HSSFSheet sheet = workbook.createSheet("test"); // 为excel创建一个名为test的sheet页		
    		/**
    		* 行和列起始都是从0开始
    		*/
    		HSSFRow row = sheet.createRow(1); // 创建一行,参数1表示第2行
    		HSSFCell cellB2 = row.createCell(1); // 在B2(2行2列)位置创建一个单元格
    		HSSFCell cellB3 = row.createCell(2); // 在B3(2行3列)位置创建一个单元格
    		cellB2.setCellValue("单元格B2"); // B2单元格填充内容
    		cellB3.setCellValue("单元格B3"); // B3单元格填充内容
    		
    		HSSFCellStyle cellStyle = workbook.createCellStyle(); // 单元格样式
    		Font fontStyle = workbook.createFont(); // 字体样式
    		fontStyle.setBold(true); // 加粗
    		fontStyle.setFontName("黑体"); // 字体
    		fontStyle.setFontHeightInPoints((short) 11); // 大小
    		// 将字体样式添加到单元格样式中 
    		cellStyle.setFont(fontStyle);
    		// 边框,居中
    		cellStyle.setAlignment(HorizontalAlignment.CENTER);
    		cellStyle.setBorderBottom(BorderStyle.THIN);
    		cellStyle.setBorderLeft(BorderStyle.THIN);
    		cellStyle.setBorderRight(BorderStyle.THIN);
    		cellStyle.setBorderTop(BorderStyle.THIN);
    		cellB2.setCellStyle(cellStyle); // 为B2单元格添加样式
    		
    		// 合并单元格
    		CellRangeAddress cra =new CellRangeAddress(1, 3, 1, 3); // 起始行, 终止行, 起始列, 终止列
    		sheet.addMergedRegion(cra);
    		
    		// 使用RegionUtil类为合并后的单元格添加边框
    		RegionUtil.setBorderBottom(1, cra, sheet); // 下边框
    		RegionUtil.setBorderLeft(1, cra, sheet); // 左边框
    		RegionUtil.setBorderRight(1, cra, sheet); // 有边框
    		RegionUtil.setBorderTop(1, cra, sheet); // 上边框
    		
    		// 输出到本地
    		String excelName = "/myExcel.xls";
    		FileOutputStream out = null;
    		try {
    			out = new FileOutputStream(excelName);
    			workbook.write(out);
    			out.flush();
    			out.close();
    		} catch (Exception e) {
    			e.printStackTrace();
    		} finally {
    			if (out != null)
    				try {
    					out.close();
    				} catch (IOException e) {
    					e.printStackTrace();
    				}
    			out = null;
    		}
    	}
    }
    
    生成的excel样式为
    简单说明:

      1.excel生成过程: excel-->sheet-->row-->cell

      2.索引从0开始

      3.合并单元格后保留最左上角的单元格(B3单元格被B2单元格覆盖)

      4.合并后单元格边框通过RegionUtil设置,如果删除以下代码

    // 使用RegionUtil类为合并后的单元格添加边框
    RegionUtil.setBorderBottom(1, cra, sheet); // 下边框
    RegionUtil.setBorderLeft(1, cra, sheet); // 左边框
    RegionUtil.setBorderRight(1, cra, sheet); // 有边框
    RegionUtil.setBorderTop(1, cra, sheet); // 上边框
    

    效果为:

    可以看到只有B2单元格有边框。

    展开全文
  • POI之Excel单元格合并

    2016-04-16 21:30:40
    POI之Excel单元格合并开心一笑班里一同学跟老师请假,说是老爸要结婚,而他不喜欢后妈,他要请假去搅黄那婚事。 老师(女)准假了,而且还说:“去吧,去吧,搅不黄,打电话给我,我去!提出问题POI如何进行单元格...

    开心一笑

    班里一同学跟老师请假,说是老爸要结婚,而他不喜欢后妈,他要请假去搅黄那婚事。
    老师(女)准假了,而且还说:“去吧,去吧,搅不黄,打电话给我,我去!

    视频教程

    大家好,我录制的视频《Java之优雅编程之道》已经在CSDN学院发布了,有兴趣的同学可以购买观看,相信大家一定会收获到很多知识的。谢谢大家的支持……

    视频地址:http://edu.csdn.net/lecturer/994

    提出问题

    POI如何进行单元格合并

    解决问题

    package com.hwy.test;
    
    import org.apache.poi.hssf.usermodel.HSSFSheet;
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;
    import org.apache.poi.ss.usermodel.Cell;
    import org.apache.poi.ss.usermodel.Row;
    import org.apache.poi.ss.util.CellRangeAddress;
    import java.io.FileOutputStream;
    
    /**
     * Created by Ay on 2016/4/16.
     */
    public class PoiCellRangeAddress {
    
        public static void main(String[] args) {
    
            //新建excel报表
            HSSFWorkbook excel = new HSSFWorkbook();
            //添加一个sheet,名字叫"我的POI之旅"
            HSSFSheet hssfSheet = excel.createSheet("我的POI之旅");
    
            //单元格范围 参数(int firstRow, int lastRow, int firstCol, int lastCol)
            CellRangeAddress cellRangeAddress =new CellRangeAddress(0, 3, 3, 9);
    
            //在sheet里增加合并单元格
            hssfSheet.addMergedRegion(cellRangeAddress);
            //生成第一行
            Row row = hssfSheet.createRow(0);
            Cell first = row.createCell(3);
            first.setCellValue("合并单元格");
            //cell 位置3-9被合并成一个单元格,
            //不管你怎样创建第4个cell还是第5个cell…然后在写数据,都是无法写入的。
            Cell secondCell = row.createCell(10);
    
            secondCell.setCellValue("不在合并单元格范围");
    
            FileOutputStream fout = null;
            try{
                fout = new FileOutputStream("D:/students.xls");
                excel.write(fout);
                fout.close();
            }catch (Exception e){
                e.printStackTrace();
            }
        }
    
    }
    
    

    执行代码后的效果:
    图片

    读书感悟

    • 幸运其实只是充分准备加上努力工作的结果
    • 生命中最美好的事物的出现,都是因为做了不敢做的事
    • 不做任何尝试的人永远不会失败,但是,也永远不会成功
    • 所有的失败都并非是失败,而是“成功前的练习”,是最宝贵的经验
    展开全文
  • html 导出 excel 单元格合并 --3 最终的excel效果 核心代码块 view.tableExport = function (tableId = '', filename, type) { var doc = view.document, // table = doc.getElementById(tableId), ...
  • POI之Excel单元格合并边框问题

    千次阅读 2016-04-16 21:58:24
    POI之Excel单元格合并边框问题开心一笑狼崽从出生就吃素。狼爸狼妈绞尽脑汁训练狼崽捕猎。终于有天狼爸狼妈欣慰地看到儿子狂追兔子。狼崽抓住兔子凶相毕露恶狠狠地说:小子!把胡萝卜交出来!提出问题工作中碰到的...
  • 1、问题背景利用POI导出Excel表格,在导出的过程中涉及到双表头,即需要合并单元格2、实现源码/**** @Project:Report* @Title:MergeCell.java* @Package:com.you.excel* @Description:* @Author:YouHaiDong* @Date:...
  • 本demo学习python操作mysql与openpyxl实现数据库数据读取写入excelexcel操作实现单元格合并
  • 合并单元格被封为EXCEL十大陋习之一,华丽的外表下隐藏很多难以处理的“毒瘤”,如果不会批量处理会累死人的。今天就给大家汇总一下常用的合并单元格处理技巧。1、填充序号操作步骤:选择区域(从上往下选),编辑栏...
  • poi excel单元格合并

    2017-06-20 11:22:30
    sheet.addMergedRegion(new CellRangeAddress(oldValue, newValue, 0, 0)); ...当合并一列的单元格时,可以先渲染全部数据,在进行相同项的合并 public void exportXls(StatisticalInfo mo
  • go操作excel单元格合并

    千次阅读 2020-03-05 21:47:57
    1、下载xlsx包 ...2.新建excel并写入数据部分代码 file := xlsx.NewFile() sheet, err := file.AddSheet("标签页1") if err != nil { fmt.Printf(err.Error()) } //设置表格标题 title := sheet.AddR...
  • excel单元格合并后跨页出现的边框问题? 2011-03-20 如何解决单元格合并后跨页出现的边框问题? 单元格合并后,跨页的地方出现下边框没有的问题,一个一个调整太慢了,有什么好方法? 通常来说,是一个一个...
  • 很多时候用Excel制表或统计数据时,都会遇到有些单元格是合并的,之前也跟大家说过,能不合并单元格我们尽量不合并,毕竟合并单元格会有一些坑你可能解决不了,但如果一定要将单元格合并,以下这些操作你可以先学...
  • //导出Excel public static void TransitDataToExcel2(DataTable DataTableForTransit, string[] CaptionValue, bool IsShowByDialog) { if (DataTableForTransit == null || ...
  • 基本的Excel操作,合并单元格,计算行高列管宽,冻结数据。。。相当全面的
  • C#中操作Excel单元格合并

    千次阅读 2015-06-11 11:52:15
    这里主要是对于一个已知的EXCEL进行合并里面的单元格的方法 string savePath="C:\\Users\\Administrator\\Desktop\\xxx.xls";//excel的路径 Microsoft.Office.Interop.Excel.Application xlApp = null;//...
  • #合并单元格每二个合并 2 和 3单元格合并 B6和C6本例为  For i = 3 To 42 Step 2  #判断单元格内容是否相等,若相等则合并  If Cells(j, i - 1) = Cells(j, i) Then  Range(Cells(j, i - 1), Cells(j, i)).Merge...
  • C#中Excel单元格合并

    万次阅读 2012-09-10 13:53:17
    下面的方法主要是对于一个已知的EXCEL进行合并里面的单元格。 string savePath="C:\\Users\\Administrator\\Desktop\\xxx.xls";//excel的路径 Microsoft.Office.Interop.Excel.Application xlApp = null;//Execl...
  • delphi excel 单元格合并

    千次阅读 2012-01-17 20:15:34
    Sheet.range['D2:D6'].Merge; Sheet.range['B2:C2'].Merge(True);同一行合并
  • ///合并"A1","B1" Range range = worksheet.get_Range("A1","B1"); range.MergeCells = true; ///插入图片C:\\CA\\ceshi1(测试).bmp float PicLeft, PicTop, PicWidth, PicHeight; PicLeft = Convert.To...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,946
精华内容 1,978
关键字:

excel单元格合并