精华内容
下载资源
问答
  • 如何设置excel表头
    2021-11-17 14:25:27

    前排提示:代码手打,可能有拼写错误

    核心代码

    把表中的列名存在呢一个list中

    Connection conn=......
    String sql="select * from test"
    ps=conn.prepareStatement(sql);
    rs=ps.executeQuery();
    ResultSetMetaData metaData = rs.getMetaData(); 
    int cilum =metaData.getColumnCount();
    List<String> columnNameList=new ArrayList();
    for(int i=1;i<=column;i++){
    String columnName=metaData.getColumnName(i);
    columnNameList.add(columnName);
    }
    

    创建excel

    HSSFWorkbook hssfWorkbook = new HSSFWorkbook();
            HSSFSheet hssfSheet = workbook.createSheet("信息表");
             HSSFRow row = hssfSheet.createRow(0);
             for(int i=0;i<columnNameList.size();i++){
             HSSFCell cell=row.createCell(i);
             HSSFRichTextString text=new HSSFRichTextString(columnNameList.get(i));
             cell.setCellValue(text);
             }
             int rowNum=1;
             while(rs.next()){
            HSSFRow row1=hssfSheet.createRow(rowNum);
            for(int i=0;i<columNameList.size();i++)
            
            {
             row1.createCell(i).setCellValue(rs.getString(columnNameList.get(i)));
             
            }
            rowNum++
    }
    
    更多相关内容
  • 设置Java导出Excel表头

    千次阅读 2021-02-28 07:43:03
    1、问题背景有一个学生表,需要导出到Excel,有学号、姓名、性别和年龄四个字段2、实现源码/**** @Project:Report* @Title:ExcelExport.java* @Package:com.you.excel* @Description:* @Author:YouHaiDong* @Date:...

    1、问题背景

    有一个学生表,需要导出到Excel,有学号、姓名、性别和年龄四个字段

    2、实现源码

    /**

    *

    * @Project:Report

    * @Title:ExcelExport.java

    * @Package:com.you.excel

    * @Description:

    * @Author:YouHaiDong

    * @Date:2015年11月4日 下午2:23:49

    * @Version:

    */

    package com.you.excel;

    import java.io.FileOutputStream;

    import org.apache.poi.hssf.usermodel.HSSFCell;

    import org.apache.poi.hssf.usermodel.HSSFRow;

    import org.apache.poi.hssf.usermodel.HSSFSheet;

    import org.apache.poi.hssf.usermodel.HSSFWorkbook;

    /**

    *

    请用一句话概括功能

    * @ClassName:ExcelExport

    * @Description:

    * @Author:YouHaiDong

    * @Date:2015年11月4日 下午2:23:49

    *

    */

    public class ExcelExport

    {

    /**

    *

    * @Title:ExcelExport

    * @Description:

    * @param args

    * @Date:2015年11月4日 下午2:23:49

    * @return: void

    * @throws Exception

    */

    @SuppressWarnings("resource")

    public static void main(String[] args) throws Exception

    {

    // 创建一个Workbook

    HSSFWorkbook workbook = new HSSFWorkbook();

    // 创建一个sheet页

    HSSFSheet sheet = workbook.createSheet("学生表");

    // 创建第一行

    HSSFRow row = sheet.createRow(0);

    // 创建单元格

    HSSFCell cell1 = row.createCell(0);

    HSSFCell cell2 = row.createCell(1);

    HSSFCell cell3 = row.createCell(2);

    HSSFCell cell4 = row.createCell(2);

    // 设置表头

    cell1.setCellValue("学号");

    cell2.setCellValue("姓名");

    cell3.setCellValue("性别");

    cell4.setCellValue("年龄");

    FileOutputStream stream = new FileOutputStream("d:/student.xls");

    workbook.write(stream);

    }

    }

    3、实现结果

    21dcecf7fcf4a333a9aef895ed2f03e6.png

    版权声明:本文为博主原创文章,未经博主允许不得转载。

    原文:http://blog.csdn.net/you23hai45/article/details/49637663

    展开全文
  • vue导出excel并修改表头样式(请先阅读readme) 安装npm install 执行npm run serve
  • 这篇文章主要为大家详细介绍了java生成可变表头excel的方法,传入一个表头和数据,将数据导入到excel中,具有一定的参考价值,感兴趣的小伙伴们可以参考一下本文为大家分享了java生成可变表头excel的具体步骤,供...

    这篇文章主要为大家详细介绍了java生成可变表头excel的方法,传入一个表头和数据,将数据导入到excel中,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    本文为大家分享了java生成可变表头excel的具体步骤,供大家参考,具体内容如下

    1、实现功能:

    传入一个表头和数据,将数据导入到excel中。

    为了便于项目的扩展,数据传入通过泛型集合传入,获取数据时,通过反射的方式获取,这样无论你的表头是多少项,我都能很方便的生成。另外为了便于数据的管理,我每天都会自动生成一个文件夹,excel生成在相应的文件夹中。文件的根目录通过读取项目中的properties文件获取(详情可查看:获取tomcat上properties文件内容的方法)。好啦,接下来直接进入代码开发吧。

    2、所需jar包

    这里使用的是通过poi的方式将数据导入到excel中。

    dcb3a99ebb62fe9073f573e79c33886d.png

    3、代码设计

    1)、properties文件内容

    filePath=E\:/appData

    2)、获取文件保存的根目录(来自项目中的properties文件)

    import java.io.BufferedInputStream;

    import java.io.File;

    import java.io.FileInputStream;

    import java.io.IOException;

    import java.io.InputStream;

    import java.util.Properties;

    public class GetFilePlace

    {

    /**

    * 读取文件,获取excel保存的根目录

    * @return excel保存的根目录

    */

    public String getFilePath()

    {

    String dir = System.getProperty("user.dir"); //获得tomcat所在的工作路径

    //获取到存储了文件存储位置的filedir.properties 文件路径

    String realDir = dir + File.separator + "src" + File.separator +"META-INF" + File.separator + "filedir.properties";

    /*String realDir = dir.substring(0, dir.length()-4) + File.separator +"webapps" + File.separator + "generateExcels"

    + File.separator + "classes" + File.separator + "META-INF" + File.separator + "config" + File.separator + "filedir.properties";

    */

    return realDir;

    }

    /**

    * 获取filePath路径【properities文件】中key对应的值,

    * @param filePath properities文件路径【包含properities文件】

    * @param key 要查找的key值

    * @return key对应的value

    */

    public String GetValueByKey(String filePath, String key)

    {

    Properties pps = new Properties();

    try {

    InputStream in = new BufferedInputStream (new FileInputStream(filePath));

    pps.load(in);

    String value = pps.getProperty(key);

    in.close();

    return value;

    }catch (IOException e) {

    e.printStackTrace();

    return null;

    }

    }

    /**

    * 查询properities文件中可以对应的存储地点

    * @param key 查询主键

    * @return key对应的存储地址

    */

    public String getFileDirFromProperties(String key)

    {

    return GetValueByKey(getFilePath(),key);

    }

    public static void main(String[] args)

    {

    System.out.println(new GetFilePlace().getFileDirFromProperties("filePath"));

    }

    }

    3)、生成文件夹

    import java.io.File;

    import java.text.SimpleDateFormat;

    import java.util.Calendar;

    public class GenerateFold

    {

    /**

    * 查询当前生成的excel需要存在在哪个路径,如果存在则存储在相应的位置,否则生成改目录, 每天生成一个文件夹,文件夹的命名规则为 年月日的时间戳

    * @param foldName 生成excel保存路径

    * @return 现在的excel需要保存路径

    */

    public String getFold(String foldName)

    {

    SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");

    String todayStr = format.format(Calendar.getInstance().getTime());

    String foldPath = foldName + File.separator + todayStr;

    File file = new File(foldPath);

    if(!file.exists() && !file.isDirectory())

    {

    System.out.println("不存在");

    file.mkdirs();

    }

    else

    {

    System.out.println("存在");

    }

    return foldPath;

    }

    }

    4)、生成excel

    import java.io.File;

    import java.io.FileNotFoundException;

    import java.io.FileOutputStream;

    import java.io.IOException;

    import java.io.OutputStream;

    import java.lang.reflect.InvocationTargetException;

    import java.lang.reflect.Method;

    import java.text.SimpleDateFormat;

    import java.util.ArrayList;

    import java.util.Calendar;

    import java.util.List;

    import java.util.UUID;

    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.hssf.util.Region;

    import org.apache.poi.ss.usermodel.CellStyle;

    import com.zcr.until.GetFilePlace;

    import com.zcr.until.User;

    /**

    * 生成excel

    * @author zcr

    *

    */

    public class GenerateExcel

    {

    /**

    * 通过关键字查询properties文件相应文件的存储位置,根据表头顺序将数据保存到相应文件路径的xls文件中, 文件的命名规则是时间戳加一串全球唯一编码

    * @param fileDir //查找文件存储根目录

    * @param head //表头

    * @param list //数据

    * @return //文件的保存路径及其名字的字符串

    */

    public String generateExcels(String fileDir,String [] head,List list)

    {

    //获得存储的路径

    //String savePath = new GetFilePlace().getFileDirFromProperties(key);

    //文件存储名字

    String saveFileName = "";

    SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmssSS");

    saveFileName += format.format(Calendar.getInstance().getTime());

    UUID uuid = UUID.randomUUID(); //全球唯一编码

    saveFileName += "-" + uuid.toString();

    HSSFWorkbook workbook = new HSSFWorkbook();

    HSSFSheet sheet = workbook.createSheet();

    workbook.setSheetName(0,"APP数据"); //设置表格工作簿名称

    HSSFCellStyle cellStyle = workbook.createCellStyle();

    cellStyle.setAlignment(CellStyle.ALIGN_CENTER);

    cellStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER);

    HSSFRow titleRow = sheet.createRow(0);

    sheet.addMergedRegion(new Region(0,(short)0,0,(short)(head.length-1)));

    HSSFCell titleCell = titleRow.createCell(0);

    titleCell.setCellValue("AAP数据____ ");

    titleCell.setCellStyle(cellStyle);

    HSSFRow row1 = sheet.createRow(1);

    //设置表头

    for(int i = 0 ; i < head.length ; i++)

    {

    HSSFCell cell = row1.createCell(i);

    cell.setCellValue(head[i]); //设置值

    cell.setCellStyle(cellStyle);//设置样式

    }

    if(null != list && list.size() > 0)

    {

    int size = list.size();

    Class classType = list.get(0).getClass();

    for(int i = 0,rowNum=2 ; i < size ; i ++,rowNum++)

    {

    HSSFRow rows = sheet.createRow(rowNum);

    T t = list.get(i);

    //添加数据行

    for(int j = 0 ; j < head.length ; j++)

    {

    //获得首字母

    String firstLetter = head[j].substring(0,1).toUpperCase();

    //获得get方法,getName,getAge等

    String getMethodName = "get" + firstLetter + head[j].substring(1);

    Method method;

    try

    {

    //通过反射获得相应的get方法,用于获得相应的属性值

    method = classType.getMethod(getMethodName, new Class[]{});

    HSSFCell dataCell = rows.createCell(j);

    try

    {

    System.out.print(getMethodName +":" + method.invoke(t, new Class[]{}) +",");

    dataCell.setCellValue(method.invoke(t, new Class[]{}).toString());

    }

    catch (IllegalArgumentException e)

    {

    e.printStackTrace();

    }

    catch (IllegalAccessException e)

    {

    e.printStackTrace();

    }

    catch (InvocationTargetException e)

    {

    e.printStackTrace();

    } //设置值

    dataCell.setCellStyle(cellStyle);//设置样式

    }

    catch (SecurityException e)

    {

    e.printStackTrace();

    }

    catch (NoSuchMethodException e)

    {

    e.printStackTrace();

    }

    }

    System.out.println();

    }

    }

    else

    {

    System.out.println("没有数据");

    }

    //获得文件存储路径

    //String fileDir = new GetFilePlace().getFileDirFromProperties(key);

    saveFileName += ".xls";

    String saveFilePathAndName = fileDir + File.separator + saveFileName;

    OutputStream out = null;

    try

    {

    out = new FileOutputStream(saveFilePathAndName);

    try

    {

    workbook.write(out);//保存文件

    }

    catch (IOException e)

    {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    }

    catch (FileNotFoundException e)

    {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    finally

    {

    try

    {

    out.close();

    }

    catch (IOException e)

    {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    }

    return saveFilePathAndName;

    }

    /**

    * 提供外界调用的接口,生成以head为表头,list为数据的excel

    * @param head //数据表头

    * @param list //数据

    * @return //excel所在的路径

    */

    public String generateExcel(String [] head,List list)

    {

    final String FilePath = "filePath";

    String saveFilePathAndName = "";

    //获得存储的根目录

    String savePath = new GetFilePlace().getFileDirFromProperties(FilePath);

    //获得当天存储的路径

    String realSavePath = new GenerateFold().getFold(savePath);

    //生成excel并将存储的路径返回(包含文件名)

    saveFilePathAndName = generateExcels(realSavePath, head, list);

    return saveFilePathAndName;

    }

    public static void main(String[] args)

    {

    String [] head = {"name","sex","adress","height","age","jj"};

    List list = new ArrayList();

    User user1 = new User("zhangsan",1,1.1f,"北京","男","AA");

    User user2 = new User("lisi",22222,3.2f,"上海","女","BB");

    list.add(user1);

    list.add(user2);

    System.out.println(new GenerateExcel().generateExcel(head,list));

    //System.out.println(new GenerateExcel().generateExcels("E:\\appData\\20151104",head,list));

    }

    }

    5)、测试结果

    生成了文件

    912e667fc81923ffd388c689a74a0bc1.png

    文件内容如下

    3b79036e282d0f35848970c9f8e10afd.png

    properties文件读取可查看:获取tomcat上properties文件内容的方法

    读取excel可查看:java使用POI批量导入excel数据的方法

    展开全文
  • 主要为大家详细介绍了java生成可变表头excel的方法,传入一个表头和数据,将数据导入到excel中,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 注解反射导出Excel自定义中文表头,数据库查出数据,亲测可用
  • java导出excel复杂表头

    2019-02-20 16:09:50
    java工程,源代码,可直接运行,需自己改造成web下载方式。
  • Excel表格表头怎么设置每页都有?

    千次阅读 2021-04-24 22:47:55
    Excel表格表头怎么设置每页都有步骤一:首先,我们在【页面布局】下找到【打印标题】,点击进入。步骤二:在弹出的【页面设置】对话框中找到【顶端标题行】,找到后,在后面点击那个小箭头按钮。步骤三:点击小箭头...

    在打印excel表格时,会遇到除了第一页,其他页都没有表头的情况,该如何解决呢?一起来学习一下吧!

    bcac0a99cbd1fef0a14f74a5ba8aeb18.png

    Excel表格表头怎么设置每页都有

    步骤一:

    首先,我们在【页面布局】下找到【打印标题】,点击进入。

    649db5bd6a9364204d41ceb9617a2b52.png

    步骤二:

    在弹出的【页面设置】对话框中找到【顶端标题行】,找到后,在后面点击那个小箭头按钮。

    02cd251d7028e666d4d549a8b9644049.png

    步骤三:

    点击小箭头按钮后,就会回到EXCEL表格界面,并出现一个悬浮对话框。这个时候,我们只需要用鼠标点击需要留下来的表头,就会在后面的悬浮对话框中提示准备留下的行。

    6dcf23fb79a8cb7a796e0afff179a7dc.png

    步骤四:

    选择好了以后,我们再点击一下悬浮对话框后面的小箭头,就回到页面设置界面,我们看一下图中红框部分,我们的保留行还在那里,就可以点击确定了。

    274494a4d7d132b7d22c3a6e4af548cc.png

    点击确定以后,就完成所有步骤,我们按CTRL+P,进入打印页面。再次查看第二页,就有表头了。是不是很简单呢,这样设置以后,无论你的EXCEL有几百页,他都会在首行显示表头,以后查看数据就方便很多了。

    4e369f1fc63104056a1fd45737a88c33.png

    这个给每页都添加表头的小技能,你学会了么?

    更多excel相关教程,请关注PHP中文网!

    展开全文
  • 1.用于多种业务的复杂多表头表格 2.可支持任意拓展表头后导出 3.简单易懂
  • 支持从数据库中查询到数据,以多级表头形式导入到Excel文件中。比如:一级表头:学号、姓名、各科成绩。二级表头:语文、数学、英语(二级表头在各科成绩下面)。
  • //声明一个工作薄 ...//设置根据列名,列宽自适应 ,columnIndex 列索引 sheet.setColumnWidth(columnIndex,“列名”.getBytes().length2256); //创建style HSSFCellStyle style = workbook.createCellSt
  • .net对导出excel表头设置,可以跨行与跨列设置表头,以及设置表头
  • Labview“写入测量文件(Excel)”设置表头解决方案(初次试探) 利用For循环连续读取数据,将数组转换为动态数据,设置单路动态数据的属性,然后合并多路信号(相当于填入Excel某sheet中不同列),然后利用”写入...
  • Python读写Excel表,并实现表头置换数据填充
  • Excel表头斜线设置秘技.docx
  • 表头导出Excel

    2018-08-28 15:14:37
    导出Excel表格 /// 导出Excel /// 创建Excel并写入数据 /// List转化为DataTable /// 转换数据类型
  • excel表格冻结表头怎么设置

    千次阅读 2021-02-05 11:41:07
    工具2113材料电脑 excel软件1、首先在5261电脑上打开excel表格,如下图所示。2、打开之4102后的页面1653如下。3、如下图所示,接着用鼠标选择需要冻结的部分。4、接着在顶部工具栏中找到“视图”选项,如下图所示,...
  • 本文使用jxl.jar工具类库将数据按列写入Excel设置格式(字体、背景色、.../*** 按列写入Excel设置格式** @param outputUrl* 输出路径* @param sheetName* 工作薄名称* @param titles* 表头* @param arrayList* ...
  • java实现导出Excel多行表头复杂模板 一般我们都会选择poi来导出,选择一个比较好的ExcelUtils 但是对于初学者而言不了解poi的,还需从poi API文档去学习,如果是自学的话更好,如果是公司安排的任务,没有接触过有...
  • 导出的Excel文件可以指定字段对应列的宽度4.导出的文件夹方便指定,文件名可定制5.代码要尽量的简洁实现方式基于上面的几个需求,从网上找的代码都太古老了;代码量多,又不好复用!于是自己写了一个快捷的工具类1....
  • Excel设置打印表头.docx

    2021-09-26 23:02:48
    Excel设置打印表头.docx
  • Python生成自定义表头Excel

    千次阅读 2020-07-21 16:49:28
    有个小需求,要生成一个excel,自定义表头那种,忽然想起原来写的扒拉豆瓣电影的脚本。贴上,一看就懂。今天试了一下,发现原来的脚本需要加上header,设置User-Agent,否则读出来页面是空。 用的 pandas ,除了...
  • 用pandas新建excel设置表头

    千次阅读 2021-02-17 17:51:44
    #这里把表头设置为(姓名name,年龄age,性别gender,城市city,技能skill) def create_form(excel_file_name): form_header = ['姓名name', '年龄age', '性别gender', '城市city', '技能skill'] df = pandas....
  • //创建单元格,并设置表头 设置表头居中 HSSFCellStyle styleMain = book.createCellStyle(); //水平居中 styleMain.setAlignment(HSSFCellStyle.ALIGN_CENTER); //垂直居中 styleMain.setVerticalAlignment...
  • java 导出Excel表头

    2021-06-18 13:45:42
    1、表头数据从前端传入 //导出模板 export function exportExcel() { let lists = [ "姓名", "身份证", "性别", "年龄" ] let param = { title:"数据导入模板", colNames:lists } return request({ ...
  • python 合并excel 表格 单表头 私信提供测试表格和讲解
  • Java处理Excel中复杂表头导出

    千次阅读 2020-06-04 19:56:53
    在导出Excel数据时遇到非常复杂的表头,怎么处理更加简单优雅呢?网上主要流传着两种解决方式,一种是用代码合并拼接表头,一种是在Excel中画好模板,导入时加载模板然后填充数据。相比之下第二种解决方式就显得非常...
  • VBA动态设置Excel斜线表头的方法.docx

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 48,137
精华内容 19,254
关键字:

如何设置excel表头