poi导出excel写入公式_【java poi 写入Excel后读取公式值问题】poi导入excel
java poi 写入Excel后读取公式值问题
不用改公式,只需要用cell.getNumericCellValue()获取,读出来就是正确的值了,如果你读出来的还有问题,说明你其他的地方写的还有问题。
Java利用POI导入excel表格并将数据存到数据库的问题
当有合并表情况下,认为左上角单元格据,意思就是 标题 认为是a1,但是当你循环遍历这样的合并表格的话,数据是会重复的,即把合并的单元格拆分后每个单元格的数据都是一样的,这样就需要你判断过滤了。至于你这种单元格拼接的话就没有什么办法了,读取出单元格数据循环判断,然后存入数据库就行了
poi如何去写入excel文件
package com.common.util;
import java.util.List;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
public class ExcelUtil{
public static HSSFWorkbook exportExcelForStudent(List studentList
) { //excel文件对象
HSSFWorkbook wb = new HSSFWorkbook();
//创建一个张表
Sheet sheet = wb.createSheet();
//创建第一
Row row = sheet.createRow(0);
//创建第二行
Row row1 = sheet.createRow(1);
// 文件头字体
Font font0 = createFonts(wb, Font.BOLDWEIGHT_BOLD, "", false,
(short) 200);
Font font1 = createFonts(wb, Font.BOLDWEIGHT_NORMAL, "宋体", false,
(short) 200);
// 合并第一行元格
sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 1));
//设置第一列的文字
createCell(wb, row, 0, “总数”, font0);
//合并第一行的2列以后到8列(不包含第二列)
sheet.addMergedRegion(new CellRangeAddress(0, 0, 2, 8));
//设置第二列的文字
createCell(wb, row, 2, “基本信息”, font0);
//给第二行添加文本
createCell(wb, row1, 0, "序号", font1);
createCell(wb, row1, 1, "版本", font1);
createCell(wb, row1, 2, "姓名", font1);
createCell(wb, row1, 3, "性别", font1);
createCell(wb, row1, 4, "年龄", font1);
createCell(wb, row1, 5, "年级", font1);
createCell(wb, row1, 6, "学校", font1);
createCell(wb, row1, 7, "父母名称", font1);
createCell(wb, row1, 8, "籍贯", font1);
createCell(wb, row1, 9, "联系方式", font1);
//第三行表示
int l = 2;
//这里将学员的信心存入到表格中
for (int i = 0; i < studentList.size(); i ) {
//创建一行
Row rowData = sheet.createRow(l );
Student stu = studentList.get(i);
createCell(wb, rowData, 0, String.valueOf(i 1), font1);
createCell(wb, rowData, 1, "3.0", font1);
createCell(wb, rowData, 2, stu.getName(), font1);
createCell(wb, rowData, 3, stu.getStudentsex(), font1);
createCell(wb, rowData, 4, stu.getStudentage(), font1);
createCell(wb, rowData, 5, stu.getGrade().getName(), font1);
createCell(wb, rowData, 6, stu.getStudentschool(), font1);
createCell(wb, rowData, 7, stu.getparents(), font1);
createCell(wb, rowData, 8, stu.getStudentprovince() stu.getStudentcity() stu.getStudentarea(), font1);
createCell(wb, rowData, 9, stu.getContact(), font1);
}
return wb;
}
/**
* 创建单元格并设置样式,值
*
* @param wb
* @param row
* @param column
* @param
* @param
* @param value
*/
public static void createCell(Workbook wb, Row row, int column,
String value, Font font) {
Cell cell = row.createCell(column);
cell.setCellValue(value);
CellStyle cellStyle = wb.createCellStyle();
cellStyle.setAlignment(XSSFCellStyle.ALIGN_CENTER);
cellStyle.setVerticalAlignment(XSSFCellStyle.VERTICAL_BOTTOM);
cellStyle.setFont(font);
cell.setCellStyle(cellStyle);
}
/**
* 设置字体
*
* @param wb
* @return
*/
public static Font createFonts(Workbook wb, short bold, String fontName,
boolean isItalic, short hight) {
Font font = wb.createFont();
font.setFontName(fontName);
font.setBoldweight(bold);
font.setItalic(isItalic);
font.setFontHeight(hight);
return font;
}
/**
* 判断是否为数字
*
* @param str
* @return
*/
public static boolean isNumeric(String str) {
if (str == null || "".equals(str.trim()) || str.length() > 10)
return false;
Pattern pattern = Pattern.compile("^0|[1-9]\\d*(\\.\\d )?$");
return pattern.matcher(str).matches();
}
}
poi导出excel写入公式_【java poi 写入Excel后读取公式值问题】poi导入excel相关推荐
- excel小写转大写公式_会计工作再忙,也要学会这19个Excel公式!
把会计常用的Excel公式进行一次大整理,共19个,希望对做会计工作的同学们有用.如果你身边有做会计的朋友,也替学姐转给他们吧.目录 1.文本与百分比连接公式 2.账龄分析公式 3.屏蔽错误值公式 4 ...
- c++ 写入文件_常见数据库写入Webshell汇总
声明 郑重声明:文中所涉及的技术.思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担! 前言 我日常被毒打,下次请师傅们轻点,没玩过就玩一遍吧,目前只 ...
- java 浏览器访问图片不显示_[Java教程]重新上传图片后 地址不变 浏览器加载不到的问题...
[Java教程]重新上传图片后 地址不变 浏览器加载不到的问题 0 2016-05-27 07:00:50 做项目的时候遇到一个问题: 上传文件以后,相同的地址,第一次加载没有问题,当你操作次数过快, ...
- java struts2 excel上传_文件上传下载——通过struts的FormFile上传单个excel文件
通过struts的FormFile上传单个excel文件 思路: 1.通过struts的FormFile获取File(这个文件的路径是"客户端的选择的路径地址") 2.将客户端的文 ...
- excel小写转大写公式_一个复制粘贴的问题,竟然难倒了90%的Excel人【Excel表格制作教程】...
点击蓝字发送[目录]送你200篇独家Excel精华教程 全套Excel视频,限时特价,扫码观看! 如果我对你说,我可以将一个连续区域中的值,快速粘贴到筛选后不连续的区域中,你信吗?例如要将下图右侧连续 ...
- java斐波那契数列公式_斐波那契数列(公式)
求大数前几位的方法 当一个数非常大时,如何求出其前几位呢? 如果是给定一个特定的数,当然可以逐步取出每一位即可.如 a得个位,a/10得百位,a/10/10得千位. 但是,当求x^y的前几位时怎么办呢 ...
- python 向已有excel写数据_将数据写入已有的excel文件并制作汇总页签
我必须将一些数据写入现有的xls文件中.(我应该说,我在unix上工作,不能使用windows) 我更喜欢使用python,并尝试过xlwt.openpyxl.xlutils等库.在 它不工作,因为在 ...
- python 写入excel数字格式_从Pandas写入Excel时设置默认数字格式
我把浮点数的格式改为小数点后1位.data = {'A Prime': {0: 3.26, 1: 3.24, 2: 3.22, 3: 3.2, 4: 3.18, 5: 3.16, 6: 3.14, 7 ...
- double 二进制 java_C#中将double值变成二进制然后写入文件,Java中载入该文件读取此二进制double值时不正确...
目前已定位到是因为C#中的byte范围是0到255,而java中byte值为-128到127导致的错误. 尝试过使用C#的sbyte来解决: bw1 = new BinaryWriter(new Fi ...
最新文章
- 输入输出 原理 java_java输入输出,书写规范,运行原理,跨平台原理(复习)...
- ParlAI:Facebook开源的一个AI对话框架
- UIVIewController自定义切换效果-b
- 十大经典数据挖掘算法:EM
- 有了CodinGame,玩着游戏就能学编程
- chart.js雷达图不显示刻度标签_Matplotlib从入门再也不放弃
- 《设计模式详解》行为型模式 - 中介者模式
- 用友超客:社交化业务就是要化繁为简
- idea离线安装lombock插件
- 教育部 计算机类专业代码,全国本科专业代码查询
- Maven超级详细安装教程ovo
- 用Python画填色的中国分省地图(数据+源代码)
- Linux源码解析--从开机加电到main函数
- 百度指数、淘宝指数学习笔记
- 美国大学网站一网打尽
- dataGrid使用deleteRow删除数据时会出现 ‘id‘ of undefined
- Ubuntu 18.04 安装 php7.4 --enable-maintainer-zts
- 基于MATLAB对低照度图像进行直方图均衡化和同态滤波操作
- [更新ing]sklearn(十六):Nearest Neighbors *
- 如何用u盘装linux 7,U盘安装CentOS 7的方法