POI excel导出

package com.gotokeep.erp.test.utils;

import com.gotokeep.erp.test.JsonData;
import  org.apache.poi.hssf.usermodel.*;
import org.apache.poi.ss.usermodel.BorderStyle;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.HorizontalAlignment;

import java.io.FileOutputStream;

public class ExcelExport {
    // 创建新的Excel 工作簿
    static HSSFWorkbook workbook = new HSSFWorkbook();
    static HSSFFont font = workbook.createFont();
    static HSSFCellStyle style = workbook.createCellStyle();//PASS-style

    //在Excel工作簿中建一工作表
    static HSSFSheet sheet = workbook.createSheet("UserEventUA");
    static HSSFRow rowinsert;
    static HSSFCell ceilinsert;

    public static void CreateXls(String outfile){
        try{
            font.setFontHeightInPoints((short) 10);//设置字体大小
            font.setFontName("Times");
            style.setBorderBottom(BorderStyle.THIN);//下边框
            style.setBorderLeft(BorderStyle.THIN);//左边框
            style.setBorderTop(BorderStyle.THIN);//上边框
            style.setBorderRight(BorderStyle.THIN);//右边框
            style.setAlignment(HorizontalAlignment.LEFT);//字体左对齐
            style.setWrapText(true);//设置自动换行
            style.setFont(font);
            //设置列宽
            for(int i=0;i<13;i++) {
                sheet.setColumnWidth(i, 3200);
            }
            // 在索引0的位置创建行(最顶端的行)
            HSSFRow row = sheet.createRow((short) 0);
            row.setHeight((short) 500);
            //在索引0的位置创建单元格(左上端)
            HSSFCell cell = row.createCell((short) 0);
            // 定义单元格为字符串类型
            cell.setCellType(CellType.STRING);
            cell.setCellValue("第一题"); cell.setCellStyle(style);
            cell = row.createCell((short) 1);
            cell.setCellValue("第二题"); cell.setCellStyle(style);
            cell = row.createCell((short) 2);
            cell.setCellValue("第三题"); cell.setCellStyle(style);
            cell = row.createCell((short) 3);
            cell.setCellValue("答对题数"); cell.setCellStyle(style);
            cell = row.createCell((short) 4);
            cell.setCellValue("第四题"); cell.setCellStyle(style);
            cell = row.createCell((short) 5);
            cell.setCellValue("姓名"); cell.setCellStyle(style);
            cell = row.createCell((short) 6);
            cell.setCellValue("性别"); cell.setCellStyle(style);
            cell = row.createCell((short) 7);
            cell.setCellValue("年龄"); cell.setCellStyle(style);
            cell = row.createCell((short) 8);
            cell.setCellValue("公司"); cell.setCellStyle(style);
            cell = row.createCell((short) 9);
            cell.setCellValue("职业"); cell.setCellStyle(style);
            cell = row.createCell((short) 10);
            cell.setCellValue("社会平台"); cell.setCellStyle(style);
            cell = row.createCell((short) 11);
            cell.setCellValue("电话号码"); cell.setCellStyle(style);
            cell = row.createCell((short) 12);
            cell.setCellValue("所在城市"); cell.setCellStyle(style);

            // 新建一输出文件流
            FileOutputStream fOut = new FileOutputStream(outfile);
            // 把相应的Excel 工作簿存盘
            workbook.write(fOut);
            fOut.flush();
            // 操作结束,关闭文件
            fOut.close();
        }catch (Exception e){
        }
    }


    public static void exportrow(int i, JsonData jsonData){
        HSSFRow rowinsert1 = sheet.createRow((short) i);
//        rowinsert1.setHeight((short) 1200);
        HSSFCell ceilinsert1 = rowinsert1.createCell((short)0);
        ceilinsert1.setCellType(CellType.STRING);
        int num=0;
        if (jsonData.getA()==1){
            ceilinsert1.setCellValue("对");
            num++;
        }else{
            ceilinsert1.setCellValue("错");
        }
        ceilinsert1.setCellStyle(style);

        ceilinsert1 = rowinsert1.createCell((short)1);
        ceilinsert1.setCellType(CellType.STRING);
        if (jsonData.getB()==1){
            ceilinsert1.setCellValue("对");
            num++;
        }else{
            ceilinsert1.setCellValue("错");
        }
        ceilinsert1.setCellStyle(style);

        ceilinsert1 = rowinsert1.createCell((short)2);
        ceilinsert1.setCellType(CellType.STRING);
        if (jsonData.getC()==2){
            ceilinsert1.setCellValue("对");
            num++;
        }else{
            ceilinsert1.setCellValue("错");
        }
        ceilinsert1.setCellStyle(style);

        ceilinsert1 = rowinsert1.createCell((short)3);
        ceilinsert1.setCellType(CellType.STRING);
        ceilinsert1.setCellValue(num); ceilinsert1.setCellStyle(style);

        ceilinsert1 = rowinsert1.createCell((short)4);
        ceilinsert1.setCellType(CellType.STRING);
        ceilinsert1.setCellValue(jsonData.getD()); ceilinsert1.setCellStyle(style);

        ceilinsert1 = rowinsert1.createCell((short)5);
        ceilinsert1.setCellType(CellType.STRING);
        ceilinsert1.setCellValue(jsonData.getName()); ceilinsert1.setCellStyle(style);

        ceilinsert1 = rowinsert1.createCell((short)6);
        ceilinsert1.setCellType(CellType.STRING);
        ceilinsert1.setCellValue(jsonData.getGender().equalsIgnoreCase("M")?"男":"女"); ceilinsert1.setCellStyle(style);

        ceilinsert1 = rowinsert1.createCell((short)7);
        ceilinsert1.setCellType(CellType.STRING);
        ceilinsert1.setCellValue(jsonData.getAge()); ceilinsert1.setCellStyle(style);

        ceilinsert1 = rowinsert1.createCell((short)8);
        ceilinsert1.setCellType(CellType.STRING);
        ceilinsert1.setCellValue(jsonData.getCompany()); ceilinsert1.setCellStyle(style);

        ceilinsert1 = rowinsert1.createCell((short)9);
        ceilinsert1.setCellType(CellType.STRING);
        ceilinsert1.setCellValue(jsonData.getJobTitle()); ceilinsert1.setCellStyle(style);

        ceilinsert1 = rowinsert1.createCell((short)10);
        ceilinsert1.setCellType(CellType.STRING);
        ceilinsert1.setCellValue(jsonData.getSocialPlatform()); ceilinsert1.setCellStyle(style);

        ceilinsert1 = rowinsert1.createCell((short)11);
        ceilinsert1.setCellType(CellType.STRING);
        ceilinsert1.setCellValue(jsonData.getPhoneNumber()); ceilinsert1.setCellStyle(style);

        ceilinsert1 = rowinsert1.createCell((short)12);
        ceilinsert1.setCellType(CellType.STRING);
        ceilinsert1.setCellValue(jsonData.getCity()); ceilinsert1.setCellStyle(style);


        rowinsert=rowinsert1;
        ceilinsert=ceilinsert1;
    }
}
您好!感谢您的提问。关于POIExcel导出模板,您可以参考以下步骤: 1. 首先,确保您已经引入了POIExcel库。您可以在项目的pom.xml文件中添加如下依赖项: ``` <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.2</version> </dependency> ``` 2. 创建一个Excel模板文件,可以使用Microsoft Excel或其他电子表格软件创建。在模板中,设置好表头和样式等内容。 3. 在Java代码中,使用POIExcel库读取模板文件,并进行数据填充。以下是一个简单的示例: ```java import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class ExcelExportTemplate { public static void main(String[] args) { String templateFilePath = "path/to/template.xlsx"; // 模板文件路径 String outputFilePath = "path/to/output.xlsx"; // 输出文件路径 try (FileInputStream fis = new FileInputStream(templateFilePath); Workbook workbook = new XSSFWorkbook(fis); FileOutputStream fos = new FileOutputStream(outputFilePath)) { Sheet sheet = workbook.getSheetAt(0); // 获取第一个工作表 Row dataRow = sheet.getRow(1); // 获取数据行 Cell cell = dataRow.getCell(0); // 获取第一列单元格 cell.setCellValue("John Doe"); // 填充数据 workbook.write(fos); // 写入输出文件 } catch (IOException e) { e.printStackTrace(); } } } ``` 上述代码中,我们首先使用FileInputStream读取模板文件,然后创建XSSFWorkbook实例表示工作簿。接着,我们获取工作表和数据行,并使用setCellValue方法填充数据。最后,使用FileOutputStream将工作簿写入输出文件。 请注意,以上只是一个简单示例,您可以根据自己的需求进行更复杂的操作,例如循环填充数据、设置样式等。 希望以上信息能对您有所帮助!如有任何疑问,请随时提出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值