JAVA-创建Excel 将List<HashMap<K, V>>写入Excel 转换成excel 读取本地文件excel转字节流转string
创始人
2024-03-25 17:01:40
0

博客背景:JAVA项目,将数据库内容读取创建Excel存到指定位置~

文章目录

    • 一、创建Excel
        • 1、XSSFWorkbook
        • 2、XSSFSheet
        • 3、设定存储位置
        • 4、所需数据转换
        • 5、数据赋值
        • 6、File、 FileOutputStream
    • 二、读取文件

一、创建Excel

1、XSSFWorkbook

创建一个工作蒲;

2、XSSFSheet

创建一个表格,可以设置其中的行宽高、字体等等;

3、设定存储位置

positon为文件存储位置,可以直接设置位置为磁盘中指定位置;如下默认为项目运行的上一级目录;

4、所需数据转换

maps是从数据库中取出的List>类型的数据;

5、数据赋值

读取maps循环赋值;

6、File、 FileOutputStream

使用File、 FileOutputStream创建excel文件

代码如下:

public void createExcel() {String positon = "../test.xlsx";List> maps = testMapper.getTestInfo();// 定义一个新的工作簿XSSFWorkbook wb = new XSSFWorkbook();// 创建一个Sheet页,命名为firstXSSFSheet sheet = wb.createSheet("first");//设置行高sheet.setDefaultRowHeight((short) (2 * 256));//设置列宽sheet.setColumnWidth(0, 4000);sheet.setColumnWidth(1, 4000);sheet.setColumnWidth(2, 4000);XSSFFont font = wb.createFont();//设置字体font.setFontName("宋体");font.setFontHeightInPoints((short) 16);//获得表格第一行XSSFRow row = sheet.createRow(0);//根据需要给第一行每一列设置标题XSSFCell cell = row.createCell(0);cell.setCellValue("Name");cell = row.createCell(1);cell.setCellValue("Sex");cell = row.createCell(2);cell.setCellValue("Age");cell = row.createCell(3);XSSFRow rows;XSSFCell cells;//循环拿到的数据给所有行每一列设置对应的值for (int i = 0; i < maps.size(); i++) {// 在这个sheet页里创建一行rows = sheet.createRow(i + 1);nHashMap map = maps.get(i);// 该行创建一个单元格,在该单元格里设置值String name = map.get("name").toString();String sex = map.get("sex").toString();Long age = 0L;cells = rows.createCell(0);cells.setCellValue(taskName);cells = rows.createCell(1);cells.setCellValue(domain);cells = rows.createCell(2);cells.setCellValue(age);}try {//创建文件的路径File file = new File(positon);FileOutputStream fileOutputStream = new FileOutputStream(file);//将创建的表格写入wb.write(fileOutputStream);wb.close();fileOutputStream.close();} catch (IOException e) {e.printStackTrace();}}

二、读取文件

读取本地文件,将其转成字节流 , 再转成string格式输出
positon为文件存储位置,可以直接设置位置为磁盘中指定位置;如下默认为项目运行的上一级目录;

代码如下:

String positon =  "../test.xlsx";
//读取文件
InputStream is = new FileInputStream(positon);
int iAvail = is.available();
//转为字节流
byte[] bytes = new byte[iAvail];
is.read(bytes);
//转成string
String table = new String(bytes);

参考:
https://www.cnblogs.com/mythz/p/14177739.html
https://blog.csdn.net/qq_39898191/article/details/104500896

相关内容

热门资讯

不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
APK正在安装,但应用程序列表... 这个问题可能是由于以下原因导致的:应用程序安装的APK文件可能存在问题。设备上已经存在同名的应用程序...
安卓文字转语音tts没有声音 安卓文字转语音TTS没有声音的问题在应用中比较常见,通常是由于一些设置或者代码逻辑问题导致的。本文将...
报告实验.pdfbase.tt... 这个错误通常是由于找不到字体文件或者文件路径不正确导致的。以下是一些解决方法:确认字体文件是否存在:...