精华内容
下载资源
问答
  • Excel中如何每一前插入标题行
  • Excel中需要操作的数据如下:

    Excel中需要操作的数据如下:
    在这里插入图片描述
    实现的效果如下:
    在这里插入图片描述
    操作需求:每一行数据对应每一个标题都有相应的标题得分,但是只选择得分最大的标题作为这一行的标题。
    第一步:首先在I2单元格中输入Max函数查找出一行中的最大值,实现效果如下
    在这里插入图片描述
    第二步:通过在J2单元格中输入INDEX和MATCH组合函数,实现最大值标题匹配
    在这里插入图片描述
    下面简单介绍 MAX MATCH INDEX 函数的用法
    MAX函数
    用途:返回指定区域中的最大值。
    MAX(A2:H2) 区域A2:H2 中的最大值--------本文中为0.3797077
    MAX(A2:H2,1) 区域A2:H2 和数值1中的最大值--------本文中为1
    MATCH函数
    用途:返回指定数值在指定数组区域中的位置。它查找匹配元素的位置,而非元素本身。
    MATCH(I2,A2:H2,0) 精确匹配I2单元格中的数值在区域A2:H2中的位置
    匹配类型为数字-1、0或1。如果匹配类型为1,函数match查找小于或等于查找目标值的最大数值;如果匹配类型为0,函数match查找等于查找目标值的第一个数值;如果匹配类型为-1,函数match查找大于或等于查找目标值的最小数值。
    INDEX函数
    用途:返回表格或区域中的数值或对数值的引用。
    INDEX($A 1 : 1: 1:H$1,MATCH(I2,A2:H2,0))
    在本文中MATCH(I2,A2:H2,0)返回的数值为3,则通过函数INDEX查找在区域A1:H1中位置为3所对应的值--------本文中为Topic2

    展开全文
  • <p><img alt="" height="669" src="https://img-ask.csdnimg.cn/upload/1623202956479.png" width="1468" />请教大家 如图所示&...需要第一添加每一列的名称,例如站点号、经纬度、海拔、年月日等等  </p>
  • Java导出要action层(controller层)操作 需要到的jar包: 、 后端代码: /** * 导出房产信息 * @param fcHouseProMain * @param request * @param response * @param redirectAttributes ...

    简单Java实现Excel文件导出

    Java导出要在action层(controller层)中操作
    需要到的jar包:
    导入导出Excel文件毕业jar包

    后端代码:
    后面两个函数都是设置Excel文件里的标题样式,专注第一个方法就可以了

    /**
    	 * 导出房产信息
    	 * @param fcHouseProMain
    	 * @param request
    	 * @param response
    	 * @param redirectAttributes
    	 * @return
    	 */
    	@RequiresPermissions("housepro:fcHouseProMain:view")
        @RequestMapping(value = "export", method=RequestMethod.POST)
        public String exportFile(FcHouseProMain fcHouseProMain, HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) {
    		try {
                String fileName = "房产信息"+DateUtils.getDate("yyyyMMddHHmmss")+".xlsx";
                /*List<FcHouseProMain> list = fcHouseProMainService.findList(fcHouseProMain);
        		new ExportExcel("房产信息", FcHouseProMain.class).setDataList(list).write(response, fileName).dispose();*/
    			SXSSFWorkbook wb = new SXSSFWorkbook(500);
    			Sheet sheet = wb.createSheet("Export");
    			Map<String, CellStyle> styles = createStyles(wb);
    			String str[] = {"ID","名称"};
    			initialize("房产信息",Arrays.asList(str),wb,sheet,styles);
    			for (int i = 0; i <2; i++) {
    				Row row = sheet.createRow(rownum++);
    				Cell ce1 = row.createCell(0);
    				ce1.setCellValue("100"+(i+1));
    				Cell ce2 = row.createCell(1);
    				ce2.setCellValue("张三"+(i+1));
    			}
    			
    			OutputStream out = response.getOutputStream();
    			response.reset();
    	        response.setContentType("application/octet-stream; charset=utf-8");
    	        response.setHeader("Content-Disposition", "attachment; filename="+Encodes.urlEncode(fileName));
    			wb.write(out);
    			wb.dispose();
    			out.flush();
    			out.close();
        		return null;
    		} catch (Exception e) {
    			addMessage(redirectAttributes, "导出房产信息失败!失败信息:"+e.getMessage());
    		}
    		return "redirect:"+Global.getAdminPath()+"/housepro/fcHouseProMain/?repage";
        }
    	/**
    	 * 当前行号
    	 */
    	private int rownum;
    	private void initialize(String title, List<String> headerList,SXSSFWorkbook wb,Sheet sheet,Map<String, CellStyle> styles) {
    		// Create title
    		if (StringUtils.isNotBlank(title)){
    			Row titleRow = sheet.createRow(rownum++);
    			titleRow.setHeightInPoints(30);
    			Cell titleCell = titleRow.createCell(0);
    			titleCell.setCellStyle(styles.get("title"));
    			titleCell.setCellValue(title);
    			sheet.addMergedRegion(new CellRangeAddress(titleRow.getRowNum(),
    					titleRow.getRowNum(), titleRow.getRowNum(), headerList.size()-1));
    		}
    		// Create header
    		if (headerList == null){
    			throw new RuntimeException("headerList not null!");
    		}
    		Row headerRow = sheet.createRow(rownum++);
    		headerRow.setHeightInPoints(16);
    		for (int i = 0; i < headerList.size(); i++) {
    			Cell cell = headerRow.createCell(i);
    			cell.setCellStyle(styles.get("header"));
    			String[] ss = StringUtils.split(headerList.get(i), "**", 2);
    			if (ss.length==2){
    				cell.setCellValue(ss[0]);
    				Comment comment = sheet.createDrawingPatriarch().createCellComment(
    						new XSSFClientAnchor(0, 0, 0, 0, (short) 3, 3, (short) 5, 6));
    				comment.setString(new XSSFRichTextString(ss[1]));
    				cell.setCellComment(comment);
    			}else{
    				cell.setCellValue(headerList.get(i));
    			}
    			sheet.autoSizeColumn(i);
    		}
    		for (int i = 0; i < headerList.size(); i++) {  
    			int colWidth = sheet.getColumnWidth(i)*2;
    	        sheet.setColumnWidth(i, colWidth < 3000 ? 3000 : colWidth);  
    		}
    	}
    	
    	/**
    	 * 创建表格样式
    	 * @param wb 工作薄对象
    	 * @return 样式列表
    	 */
    	private Map<String, CellStyle> createStyles(Workbook wb) {
    		Map<String, CellStyle> styles = new HashMap<String, CellStyle>();
    		
    		CellStyle style = wb.createCellStyle();
    		style.setAlignment(CellStyle.ALIGN_CENTER);
    		style.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
    		Font titleFont = wb.createFont();
    		titleFont.setFontName("Arial");
    		titleFont.setFontHeightInPoints((short) 16);
    		titleFont.setBoldweight(Font.BOLDWEIGHT_BOLD);
    		style.setFont(titleFont);
    		styles.put("title", style);
    
    		style = wb.createCellStyle();
    		style.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
    		style.setBorderRight(CellStyle.BORDER_THIN);
    		style.setRightBorderColor(IndexedColors.GREY_50_PERCENT.getIndex());
    		style.setBorderLeft(CellStyle.BORDER_THIN);
    		style.setLeftBorderColor(IndexedColors.GREY_50_PERCENT.getIndex());
    		style.setBorderTop(CellStyle.BORDER_THIN);
    		style.setTopBorderColor(IndexedColors.GREY_50_PERCENT.getIndex());
    		style.setBorderBottom(CellStyle.BORDER_THIN);
    		style.setBottomBorderColor(IndexedColors.GREY_50_PERCENT.getIndex());
    		Font dataFont = wb.createFont();
    		dataFont.setFontName("Arial");
    		dataFont.setFontHeightInPoints((short) 10);
    		style.setFont(dataFont);
    		styles.put("data", style);
    		
    		style = wb.createCellStyle();
    		style.cloneStyleFrom(styles.get("data"));
    		style.setAlignment(CellStyle.ALIGN_LEFT);
    		styles.put("data1", style);
    
    		style = wb.createCellStyle();
    		style.cloneStyleFrom(styles.get("data"));
    		style.setAlignment(CellStyle.ALIGN_CENTER);
    		styles.put("data2", style);
    
    		style = wb.createCellStyle();
    		style.cloneStyleFrom(styles.get("data"));
    		style.setAlignment(CellStyle.ALIGN_RIGHT);
    		styles.put("data3", style);
    		
    		style = wb.createCellStyle();
    		style.cloneStyleFrom(styles.get("data"));
    //		style.setWrapText(true);
    		style.setAlignment(CellStyle.ALIGN_CENTER);
    		style.setFillForegroundColor(IndexedColors.GREY_50_PERCENT.getIndex());
    		style.setFillPattern(CellStyle.SOLID_FOREGROUND);
    		Font headerFont = wb.createFont();
    		headerFont.setFontName("Arial");
    		headerFont.setFontHeightInPoints((short) 10);
    		headerFont.setBoldweight(Font.BOLDWEIGHT_BOLD);
    		headerFont.setColor(IndexedColors.WHITE.getIndex());
    		style.setFont(headerFont);
    		styles.put("header", style);
    		
    		return styles;
    	}
    
    展开全文
  • 用python向Excel表格插入100数据

    千次阅读 2020-06-02 17:44:54
    分析:标题可以直接用write方法直接写,Excel中的首行首列都是从0开始的 然后内容题的话,章、章名称等这些都是固定的,主要是后边的数字,并且列数是固定的,主要是行数需要写入100,用循环即可 代码如下: ...

    问题描述:

    向excle 里添加100条数据

    标题: 章id ,章名称,节点id,节名称,知识点id,知识点名称

    内容:章1,章名称1,节点1,节点名称1,知识1,知识点1

    分析:标题可以直接用write方法直接写,Excel中的首行首列都是从0开始的

    然后内容题的话,章、章名称等这些都是固定的,主要是后边的数字,并且列数是固定的,主要是行数需要写入100行,用循环即可

    代码如下:

    方法一:

    import xlwt
    
    data = [ '章', '章名称', '节点', '节名称', '知识点', '知识点名称']
    file_name = 'ceshi.xls'
    
    def insert_excel(data, file_name):
    
        if not file_name.endswith('.xls'):
            file_name += '.xls'
        workbook = xlwt.Workbook(encoding='utf-8')
        ws = workbook.add_sheet("sheet1")
    
        ws.write(0, 0, label=data[0])
        ws.write(0, 1, label=data[1])
        ws.write(0, 2, label=data[2])
        ws.write(0, 3, label=data[3])
        ws.write(0, 4, label=data[4])
        ws.write(0, 5, label=data[5])
    
        for i in range(0,6):
            for j in range(1,101):
                if i == 0:
                    ws.write(j, 0, label=data[0] + str(j))
                elif i == 1:
                    ws.write(j, 1, label=data[1] + str(j))
                elif i == 2:
                    ws.write(j, 2, label=data[2] + str(j))
                elif i == 3:
                    ws.write(j, 3, label=data[3] + str(j))
                elif i == 4:
                    ws.write(j, 4, label=data[4] + str(j))
                elif i == 5:
                    ws.write(j, 5, label=data[5] + str(j))
            workbook.save(file_name)
    
    
    
    insert_excel(data, file_name)
    import openpyxl
    import os
    
    title_list=['章id', '章名称', '节点id', '节点名称', '知识点id', '知识点名称']
    def create_excel(path,filename,sheetname):
        if not os.path.exists(path+filename):
            workbook=openpyxl.Workbook()
            sheet=workbook.active
            sheet.title=sheetname
            workbook.save(path+filename)
    
    def write_excel(path,filename,sheetname):
        create_excel(path,filename,sheetname)
        workbook=openpyxl.load_workbook(path+filename)
        ws=workbook[sheetname]
        #写出行首
        for j in range(1,len(title_list) + 1):
            ws.cell(row=1,column=j,value=title_list[j-1])
        #写内容
        for i in range(2,102):
            for e in range(1,len(title_list)+1):
                content=title_list[e-1]
                if "id" in content:
                    content=content.split("id")[0]
                ws.cell(row=i,column=e,value =content + str(i-1))
        workbook.save(path+filename)
    
    
    write_excel("D:\\api\\practice","test02.xlsx","知识点统计")
    展开全文
  • 读取excel标题、内容

    千次阅读 2017-05-09 10:49:26
    读取excel标题、内容

    首先添加两个包,在pom.xml里面加入:

    <dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>3.9</version>
    </dependency>
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-ooxml-schemas</artifactId>
                <version>3.9</version>
            </dependency>

    干货:

    /**
     * 读取excel标题、内容
     */
    public void findCompanyIndustry() {
        List<Industry> list = industryRepository.findAll();
        System.out.println(list);
        Map<Integer, String> map = new HashMap<Integer, String>();
        Workbook workbook = null;
        String str = "";
        try {
            InputStream in = new FileInputStream("d:\\项目资料\\测试行业.xlsx");
            try {
                workbook = WorkbookFactory.create(in);
            } catch (IOException e) {
                throw new ServiceException(ResultEnum.ERROR.getCode(), "saveIndustry方法IOException");
            } catch (InvalidFormatException e) {
                throw new ServiceException(ResultEnum.ERROR.getCode(), "saveIndustry方法InvalidFormatException");
            }
            Sheet sheet = workbook.getSheetAt(0);
            Row row = sheet.getRow(0);
            // 标题总列数
            int colNum = row.getPhysicalNumberOfCells();
            System.out.println("colNum:" + colNum);
            String[] title = new String[colNum];
            for (int i = 0; i < colNum; i++) {
                title[i] = getCellFormatValue(row.getCell((short) i));
            }
            System.out.println("获得Excel表格的标题:");
            for (String s : title) {
                System.out.print(s + " ");
            }
            System.out.println("");
    
            int rowNum = sheet.getLastRowNum();
            // 正文内容应该从第二行开始,第一行为表头的标题
            for (int i = 1; i <= rowNum; i++) {
                row = sheet.getRow(i);
                int j = 0;
                while (j < colNum) {
                    // 每个单元格的数据内容用"-"分割开,以后需要时用String类的replace()方法还原数据
                    // 也可以将每个单元格的数据设置到一个javabean的属性中,此时需要新建一个javabean
                    // str += getStringCellValue(row.getCell((short) j)).trim() +
                    // "-";
                    str += getCellFormatValue(row.getCell((short) j)).trim() + "-";
                    j++;
                }
                map.put(i, str);
                str = "";
            }
            System.out.println("获得Excel表格的内容:");
            for (int i = 1; i <= map.size(); i++) {
                System.out.println(map.get(i));
            }
            saveCompanyIndustry(list, map);
        } catch (FileNotFoundException e) {
            throw new ServiceException(ResultEnum.ERROR.getCode(), "saveIndustry方法IFileNotFoundException");
        }
    }
    
    /**
     * 根据HSSFCell类型设置数据
     *
     * @param cell
     * @return
     */
    private String getCellFormatValue(Cell cell) {
        String cellvalue = "";
        if (cell != null) {
            // 判断当前Cell的Type
            switch (cell.getCellType()) {
                // 如果当前Cell的Type为NUMERIC
                case Cell.CELL_TYPE_NUMERIC:
                case Cell.CELL_TYPE_FORMULA: {
                    // 判断当前的cell是否为Date
                    if (HSSFDateUtil.isCellDateFormatted(cell)) {
                        // 如果是Date类型则,转化为Data格式
    
                        //方法1:这样子的data格式是带时分秒的:2011-10-12 0:00:00
                        //cellvalue = cell.getDateCellValue().toLocaleString();
    
                        //方法2:这样子的data格式是不带带时分秒的:2011-10-12
                        Date date = cell.getDateCellValue();
                        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
                        cellvalue = sdf.format(date);
    
                    }
                    // 如果是纯数字
                    else {
                        // 取得当前Cell的数值
                        cellvalue = String.valueOf(cell.getNumericCellValue());
                    }
                    break;
                }
                // 如果当前Cell的Type为STRIN
                case Cell.CELL_TYPE_STRING:
                    // 取得当前的Cell字符串
                    cellvalue = cell.getRichStringCellValue().getString();
                    break;
                // 默认的Cell值
                default:
                    cellvalue = " ";
            }
        } else {
            cellvalue = "";
        }
        return cellvalue;
    }
    控制台输出:
    
    colNum:5
    获得Excel表格的标题:
    发行人中文名称 主体评级 一级行业 二级行业 三级行业 
    获得Excel表格的内容:
    冀中能源峰峰集团有限公司    AA    原材料    煤炭    煤炭    
    阳泉煤业(集团)有限责任公司    AAA    原材料    煤炭    煤炭    
    山东能源集团有限公司    AAA    原材料    煤炭    煤炭    
    山西焦煤集团有限责任公司    AAA    原材料    煤炭    煤炭    
    晋能集团有限公司    AAA    原材料    煤炭    煤炭    
    淮南矿业(集团)有限责任公司    AAA    原材料    煤炭    煤炭    
    山西潞安矿业(集团)有限责任公司    AAA    原材料    煤炭    煤炭    
    开滦(集团)有限责任公司    AA+    原材料    煤炭    煤炭    
    


    展开全文
  • java实现在Excel中插入图片有时碰到下载excel中加入图片或已经制作好的图章。
  • 函数作用:在Excel中加入一个量度尺(以厘米为单位).106 '107.函数作用:在Excel中加入一个量度尺(以寸为单位)...109 '108.函数作用:取得一个短文件名的长文件名.............111 '109.函数作用:取得临时文件名...........
  • poi自定义excel标题头并导出

    千次阅读 2018-08-09 16:25:47
     创建excel大致分这几步:  1、创建HSSFWorkbook对象(也就是excel文档对象... 2、通过HSSFWorkbook对象创建sheet对象(也就是excel中的sheet)  3、通过sheet对象创建HSSFROW对象(row对象)  4、通过HSSFR...
  • js前端导出excel,网上的例子很多,大部分都是使用如下代码: //统计导出 $scope.statisExport=function(){ toOutPutExcel('statisTable', '证件发放'); }; //导出 var idTmr; function getExplorer() { var ...
  • //将每一的数据注入到class实例并保存list for(int i = 1;i ; i++) { try { Object singleRow = getSingleRow(sheet, i, setMethodMap, listRef, clazz); excelData.add(singleRow); }catch ...
  •   熟练使用 Word,Excel 非常重要,写程序再厉害,也不可能每一份小数据都用程序处理吧,Excel 就派上了用场,将数据分析结果以图文形式呈现给他人,又或者是平时论文的撰写,无比需要使用 word,当然,你也可以...
  • 先说写入标题栏 java代码 public class PoiColumnTest { public static void main(String[] args) throws Exception{ // 准备数据 List<String> titles = Arrays.asList("编号","姓名","图片","法号","状态...
  • 摘要 本文主要讲解了POI的表格行高列宽比例,以及根据这个不同的场景生成,如标题,说明,字段头。...他们之间的比例近似于1:20,例如,Excel中的50磅(100像素),代码应该写为 row.setHeight((..
  • Excel 很多间断空白,为了不影响美观,会考虑填充,【智能填充(win Ctrl+E/mac Command+E)】,但是智能填充,只适用于一次使用,现在需求可能有成千上万的间断空行,要批量,【智能填充】,就不行了,需求如下...
  • 于是乎,代码行加入以下两列: pd.set_option('display.unicode.ambiguous_as_wide', True) #处理数据的列标题与数据无法对齐的情况 pd.set_option('display.unicode.east_asian_width', True) #无法对齐主要是...
  • 当vue.js需要导出Excel文件时,需要的Blob.js和Export2Excel.js
  • 产品提出新需求,要用户所有上传的订单附件的最前方加入订单号,本以为是小需求,结果确意外的踩了不少坑,下面说一下我踩坑的全部过程: 1.使用CreateRow创建 最开始的预期是CreateRow(0)就可以完全实现这...
  • excel创建下拉列表多选Excel provides the drop-down list in order to provide multiple options to select one. The drop-down list can be created in different ways and options. In this tutorial, we will ...
  • >>号外:关注“Java精选”公众号,菜单栏->聚合->干货分享,回复关键词领取视频资料、开源项目。1. Excel2003与Excel2007两个版本的最大行数和...
  • 原创链接 知乎 郭大牛 谢谢!...首先打开一个excel 添加宏 将代码编辑到宏中 Sub copybat() Dim i, j, k, m, r As Integer Dim n, total_data As Long Dim path As String Dim title_area, data_column, data_a.
  • 写给初学者,高手请忽略:有时我们需要将Excel中的数据导入到数据库对应的表,若是挨个编写SQL会非常繁琐,下面介绍如何一次性导入成千上万,乃至数十万条数据> Step1: 首先我们需要将excel中的数据按照对应的...
  • 对于word需要插入大量类型相似的图片,使用excel插入图片、标题、题注等内容是非常方便的,先使用excel编辑好各个图片对应的标题、题注。 excel中工作表第一列为图片的标题,第二列为图片路径。如下图所示: 使用...
  • 现有一个excel文档,该文档从第三开始,每一代表一个化石及其相关的登记资料,如图1,现在需要将每一数据的内容,填写到对应的word文档中,并将入库照片编号对应的照片插入对应位置,如图2,最后要求不能生成...
  • 接着上个安装好laravel-admin的项目,此项目内安装excel扩展 有一个坑:百度有篇博客 composer require maatwebsite/excel ~2.0.0 这个语句执行得不到正确的结果,是错的,我去github上看了,少了双引号,应该是 ...
  • 用 xlwings 处理 Excel 的重复数据

    千次阅读 2020-04-25 04:32:43
    前几天我无意间看到了一篇文章的标题 叫做 插上翅膀,让Excel飞起来——xlwings ,我被标题吸引住了,看到了有这么个东西。 更巧的是昨天朋友又让我帮她处理个Excel问题,这次的需求非常简单,为: 1. 只有一张只有...
  • 前言 自学做一个小demo,有个功能涉及到excel的导入导出,网上到处查找了一番,发先也并不难,这里整理记录一下,给有相同想法的朋友们做个参考。 正文
  • """csv文件第一添加索引字段""" def write_raw_index(file): filename = file with open(filename, 'r+', encoding='utf-8') as f: content = f.read() f.seek(0, 0) #mid, text, source, uid text = '...
  • 子程序 Excel导入到超级列表框, , 公开, 需要添加相应组件,Excel表格不能有合并的单元格 .参数 Excel导入数据文件名, 文本型, , 要打开文件的完整路径 .参数 超级列表框, 超级列表框, , 用来显示加载数据的组件...
  • EXCEL中的POWER QUERY功能简介

    千次阅读 2021-05-18 00:56:39
    点击蓝字关注我们一前言如果你工作或项目需要大量使用EXCEL处理数据, 那么请务必了解一下POWER QUERY. 因为它将极大的优化你的工作:解决一些EXCEL公式性能很差的情况...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,534
精华内容 5,013
关键字:

如何在excel中加入标题行