添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

注意:读取表数据时,表格中的格子没有数据时会读取报错

excel文件及相关jar包:

连接: https://pan.baidu.com/s/1BpLGxBz2dPRvq_eCxFofzA ,提取码:aczc

excel表格:(一下插入数据是从表格内随机获取插入数据)

package kf.ats.gvnsvr.client.taizhou.test;
import org.apache.commons.io.FileUtils;
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;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
public class TestEditExcel {
	//第一行每一列的title
	private static String[] title = new String[] {"部门名称","事项编码","事项名称","创建时间","状态"};
	//生成文件名
	private static String newfilepath = "e:/testNew.xls";
	public static void main(String[] args) throws IOException{
		//读取excel表数据
        List<BumenEnity> listMaps = getExcelOne();
        //封装需要写入excel表的数据
        List<Map<String,String>> BodyMap = excelDataList(listMaps);
        //写入数据
		exportXlsgl(BodyMap);
	 * 读取excel表数据
	 * @return,list对象集合
	public static List<BumenEnity> getExcelOne(){
		 List<BumenEnity> listMaps = new ArrayList<BumenEnity>();
        File file = new File("D:\\2020CodeFile\\yhs.xlsx");
        /IP地址
        FileInputStream in;
        XSSFWorkbook wb;
		try {
			in = new FileInputStream(file);
			wb = new XSSFWorkbook(in);
	        Sheet sheet = wb.getSheetAt(0); //取得“测试.xlsx”中的第一个表单
	        int firstRowNum = sheet.getFirstRowNum(); 
	        int lastRowNum = sheet.getLastRowNum(); 
	        Row row = null; 
	        for (int i = firstRowNum+1; i <= lastRowNum; i++) { 
	        	 try { 
	        		 BumenEnity map = new BumenEnity();
			         row = sheet.getRow(i);          //取得第i行 (从第二行开始取,因为第一行是表头)
			         map.setDepartment(row.getCell(1).getStringCellValue());
			         map.setName(row.getCell(2).getStringCellValue());
			         map.setService(row.getCell(3).getStringCellValue());
			         listMaps.add(map);
	        	 } catch (Exception e) { 
	                 e.printStackTrace(); 
		} catch (Exception e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		return listMaps;
	public static List<Map<String,String>> excelDataList(List<BumenEnity> map){
		List<Map<String,String>> BodyMap = new ArrayList<Map<String, String>>();
        Random r = new Random(1);
        for (int i=0;i<5;i++){
        	int ret = r.nextInt(100);
            Date date = randomDate("2020-09-01","2020-11-20");
            System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date) + "  " + 
            ret + "  " + map.get(ret).getDepartment()  + "  " + map.get(ret).getName() + "  " + 
            map.get(ret).getService());
            int max=17,min=8;
            long randomNum = System.currentTimeMillis();
            int ran3 = (int) (randomNum%(max-min)+min);
            DecimalFormat g1=new DecimalFormat("00");
            String startZeroStr = g1.format(Integer.valueOf(ran3));
            Map<String,String> mapdata = new HashMap<String,String>();
            mapdata.put("name1", map.get(ret).getName());
            mapdata.put("name2", map.get(ret).getDepartment());
            mapdata.put("name3", map.get(ret).getService());
            mapdata.put("name4", new SimpleDateFormat("yyyy-MM-dd "+startZeroStr+":mm:ss").format(date));
            mapdata.put("name5", "SUCCESS");
            BodyMap.add(mapdata);
		return BodyMap;
	 * 生成随机时间
	 * @param beginDate开始时间
	 * @param endDate结束时间
	 * @return
	 private static Date randomDate(String beginDate,String endDate){
        try {
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
            Date start = format.parse(beginDate);
            Date end = format.parse(endDate);
            if(start.getTime() >= end.getTime()){
                return null;
            long date = random(start.getTime(),end.getTime());
            return new Date(date);
        } catch (Exception e) {
            e.printStackTrace();
        return null;
	  * 生成随机数
	  * @param begin
	  * @param end
	  * @return
    private static long random(long begin,long end){
        long rtn = begin + (long)(Math.random() * (end - begin));
        if(rtn == begin || rtn == end){
            return random(begin,end);
        return rtn;
     * 创建excel文件并插入数据
     * @param BodyMap
	public static void exportXlsgl(List<Map<String,String>> BodyMap){
		//1.创建Excel工作簿
		HSSFWorkbook workbook = new HSSFWorkbook();
		//2.创建一个工作表
		HSSFSheet sheet = workbook.createSheet("sheet2");
		//3.创建第一行
		HSSFRow row = sheet.createRow(0);
		HSSFCell cell = null;
		//4.插入第一行数据
		for (int i = 0; i < title.length; i++) {
			cell=row.createCell(i);
			cell.setCellValue(title[i]);
		//5.追加数据
		int i=1;
		for (Map<String, String> m : BodyMap){ 
			HSSFRow row2=sheet.createRow(i);
			HSSFCell cell2=row2.createCell(0);
			cell2.setCellValue(m.get("name1"));
			cell2=row2.createCell(1);
			cell2.setCellValue(m.get("name2"));
			cell2=row2.createCell(2);
			cell2.setCellValue(m.get("name3"));
			cell2=row2.createCell(3);
			cell2.setCellValue(m.get("name4"));
			cell2=row2.createCell(4);
			cell2.setCellValue(m.get("name5"));
			cell2=row2.createCell(5);
		//创建一个文件,将Excel内容存盘
		File file=new File(newfilepath);
		try {
			file.createNewFile();
			FileOutputStream stream=FileUtils.openOutputStream(file);
			workbook.write(stream);
			stream.close();
		} catch (IOException e) {
			e.printStackTrace();

实体类:BumenEnity

插入表数据输出结果:

读取一个表数据根据自己的需求将数据插入到另外一个表中,复制代码下载excel及jar包即可excel文件及相关jar包:连接:https://pan.baidu.com/s/1BpLGxBz2dPRvq_eCxFofzA,提取码:aczcpackage kf.ats.gvnsvr.client.taizhou.test;import org.apache.commons.io.FileUtils;import org.apache.poi.hssf.usermodel.HSSFCell; import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.ArrayList; import java.util.LinkedHashMap; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermod.
将要写入数据使用EasyExcel写入Excel中,可以通过excludeColumnFiledNames指定需要忽略的列,includeColumnFiledNames指定要只写入的列。本文主要介绍两个方法的使用及示例代码。 原文地址:Java EasyExcel写入Excel数据指定写入数据实体中列(忽略或包含)的方法 public static void addRowCol(){ Workbook workbook = new Workbook(); workbook.loadFromFile("D:\\office\\ExcelTest\\安全分析表模板.xlsx"); //获取表 1、Java导出动态数据Excel文件,具体示例可以参考:https://img-blog.csdnimg.cn/1cc86ee5dffa48669e2b97283585fad2.png 2、项目使用SpringBoot,Ali3.0.5版本的easyexcel框架。 3、资源内有具体的使用说明和易碰到的问题及解决方案,有博主个人联系方式,欢迎来交流。 使用说明: 1、下载资源后请先看readme文档,README.md中有项目的介绍和具体的使用流程说明和易碰到的问题及解决方案。 2、若各位项目需求与本资源的样式相符度低,例如业务有渲染单元格颜色的,或者要求字体加粗,或者写入到多个Sheet页,或者设置列宽、行高,或者合并单元格,或者自动列宽,或者插入批注,或者读取Excel数据,又或者日期、数字或者自定义格式转换等等的需求时,可以参考本资源里面的《导出Excel教程.docx》里面给的需求思路。 1、关于读取Excel和写入Excel的注解示例可以参考:https://download.csdn.net/download/gongjin28_csdn/85324
import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import o.
要使用Java创建和插入数据Excel文件,可以使用Apache POI库。以下是一个简单的示例代码,演示如何使用POI创建新工作簿并向其添加数据: ```java import java.io.FileOutputStream; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class ExcelWriter { public static void main(String[] args) throws Exception { // 创建工作簿对象 Workbook workbook = new XSSFWorkbook(); // 创建工作表对象 Sheet sheet = workbook.createSheet("Sheet1"); // 创建行对象 Row row = sheet.createRow(0); // 创建单元格对象并在行中添加数据 Cell cell = row.createCell(0); cell.setCellValue("Hello"); cell = row.createCell(1); cell.setCellValue("World"); // 保存工作簿到文件 FileOutputStream outputStream = new FileOutputStream("example.xlsx"); workbook.write(outputStream); workbook.close(); outputStream.close(); 在这个例子中,我们创建了一个 `XSSFWorkbook` 实例来表示一个新的工作簿。然后,我们使用 `createSheet` 方法创建了一个名为 “Sheet1” 的工作表。接下来,我们使用 `createRow` 方法创建一个行对象,并使用 `createCell` 方法创建单元格对象。最后,我们将数据添加到单元格中并将工作簿保存到文件中。 请注意,此示例仅适用于创建和写入XLSX格式的Excel文件。如果需要创建和写入旧版的XLS格式文件,需要使用 `HSSFWorkbook` 类替换 `XSSFWorkbook`。
The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement 微电子学与固体电子学-俞驰: mysql5的解決方案,不適合mysql8 java-根据图片地址下载到本地 望实本心: 哥们,你这也不对啊.纯忽悠啊? java 将pdf文件转成高清图片(多张合并成一张) zhanglonglong01: 生成的图片 上面 和 右面 有黑边框 怎么解决 用icepdf 包的 就有这个问题