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相关推荐

  1. excel小写转大写公式_会计工作再忙,也要学会这19个Excel公式!

    把会计常用的Excel公式进行一次大整理,共19个,希望对做会计工作的同学们有用.如果你身边有做会计的朋友,也替学姐转给他们吧.目录 1.文本与百分比连接公式 2.账龄分析公式 3.屏蔽错误值公式 4 ...

  2. c++ 写入文件_常见数据库写入Webshell汇总

    声明 郑重声明:文中所涉及的技术.思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担! 前言 我日常被毒打,下次请师傅们轻点,没玩过就玩一遍吧,目前只 ...

  3. java 浏览器访问图片不显示_[Java教程]重新上传图片后 地址不变 浏览器加载不到的问题...

    [Java教程]重新上传图片后 地址不变 浏览器加载不到的问题 0 2016-05-27 07:00:50 做项目的时候遇到一个问题: 上传文件以后,相同的地址,第一次加载没有问题,当你操作次数过快, ...

  4. java struts2 excel上传_文件上传下载——通过struts的FormFile上传单个excel文件

    通过struts的FormFile上传单个excel文件 思路: 1.通过struts的FormFile获取File(这个文件的路径是"客户端的选择的路径地址") 2.将客户端的文 ...

  5. excel小写转大写公式_一个复制粘贴的问题,竟然难倒了90%的Excel人【Excel表格制作教程】...

    点击蓝字发送[目录]送你200篇独家Excel精华教程 全套Excel视频,限时特价,扫码观看! 如果我对你说,我可以将一个连续区域中的值,快速粘贴到筛选后不连续的区域中,你信吗?例如要将下图右侧连续 ...

  6. java斐波那契数列公式_斐波那契数列(公式)

    求大数前几位的方法 当一个数非常大时,如何求出其前几位呢? 如果是给定一个特定的数,当然可以逐步取出每一位即可.如 a得个位,a/10得百位,a/10/10得千位. 但是,当求x^y的前几位时怎么办呢 ...

  7. python 向已有excel写数据_将数据写入已有的excel文件并制作汇总页签

    我必须将一些数据写入现有的xls文件中.(我应该说,我在unix上工作,不能使用windows) 我更喜欢使用python,并尝试过xlwt.openpyxl.xlutils等库.在 它不工作,因为在 ...

  8. 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 ...

  9. double 二进制 java_C#中将double值变成二进制然后写入文件,Java中载入该文件读取此二进制double值时不正确...

    目前已定位到是因为C#中的byte范围是0到255,而java中byte值为-128到127导致的错误. 尝试过使用C#的sbyte来解决: bw1 = new BinaryWriter(new Fi ...

最新文章

  1. 输入输出 原理 java_java输入输出,书写规范,运行原理,跨平台原理(复习)...
  2. ParlAI:Facebook开源的一个AI对话框架
  3. UIVIewController自定义切换效果-b
  4. 十大经典数据挖掘算法:EM
  5. 有了CodinGame,玩着游戏就能学编程
  6. chart.js雷达图不显示刻度标签_Matplotlib从入门再也不放弃
  7. 《设计模式详解》行为型模式 - 中介者模式
  8. 用友超客:社交化业务就是要化繁为简
  9. idea离线安装lombock插件
  10. 教育部 计算机类专业代码,全国本科专业代码查询
  11. Maven超级详细安装教程ovo
  12. 用Python画填色的中国分省地图(数据+源代码)
  13. Linux源码解析--从开机加电到main函数
  14. 百度指数、淘宝指数学习笔记
  15. 美国大学网站一网打尽
  16. dataGrid使用deleteRow删除数据时会出现 ‘id‘ of undefined
  17. Ubuntu 18.04 安装 php7.4 --enable-maintainer-zts
  18. 基于MATLAB对低照度图像进行直方图均衡化和同态滤波操作
  19. [更新ing]sklearn(十六):Nearest Neighbors *
  20. 如何用u盘装linux 7,U盘安装CentOS 7的方法

热门文章

  1. FOC:在MCU上检验Clark和Park坐标变换是否正确
  2. docker安装mysql遇到的问题
  3. 思科设备密码破解方法
  4. 我国跨国企业外汇风险管理——以海尔公司为例
  5. 拯救剧荒,程序员最爱看的高分美剧TOP10
  6. Activity毛玻璃背景效果
  7. vscode的c_cpp_properties.json
  8. [Python爬虫] 一、爬虫原理之HTTP和HTTPS的请求与响应
  9. 腐蚀rust服务器命令_腐蚀Rust游戏指令大全 全游戏指令一览
  10. ORACLE违反协议异常