POI(java 操作excel,word等)编程

一、下载所需jar包

下载地址:http://poi.apache.org/download.html  

              http://download.csdn.net/detail/likai22/534250

 

二、上代码

package com.sxdx.excelpoi.action;import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;import jxl.Cell;
import jxl.CellType;
import jxl.NumberCell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
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.HorizontalAlignment;
import org.apache.poi.ss.usermodel.VerticalAlignment;
import org.apache.poi.ss.util.CellRangeAddress;
/***  HSSF - 提供读写Microsoft Excel XLS格式档案的功能。XSSF - 提供读写Microsoft Excel OOXML XLSX格式档案的功能。HWPF - 提供读写Microsoft Word DOC97格式档案的功能。XWPF - 提供读写Microsoft Word DOC2003格式档案的功能。HSLF - 提供读写Microsoft PowerPoint格式档案的功能。HDGF - 提供读Microsoft Visio格式档案的功能。HPBF - 提供读Microsoft Publisher格式档案的功能。HSMF - 提供读Microsoft Outlook格式档案的功能。**/
public class PoiAction {/*** 生成excel* @param args*/public static void main(String[] args) {HSSFWorkbook wb = new HSSFWorkbook();// 创建HSSFWorkbook对象HSSFSheet sheet = wb.createSheet("sheet0");// 创建HSSFSheet对象//合并单元格CellRangeAddress构造参数依次表示起始行,截至行,起始列, 截至列  sheet.addMergedRegion(new CellRangeAddress(0,0,0,10));  sheet.setDefaultRowHeightInPoints(20);//设置缺省列高sheet.setDefaultColumnWidth(8);//设置缺省列宽  //设置指定列的列宽,256 * 50这种写法是因为width参数单位是单个字符的256分之一  sheet.setColumnWidth(0, 256 * 30);  // 设置单元格的横向和纵向对齐方式HSSFCellStyle cellStyle = wb.createCellStyle();    cellStyle.setAlignment(HorizontalAlignment.CENTER);cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);//-----------------------------------------------------------------------HSSFRow row0 = sheet.createRow(0);// 创建HSSFRow对象row0.setHeight((short) 600);//设置行高HSSFCell cell0 = row0.createCell(0);cell0.setCellValue("考勤结果表");cell0.setCellStyle(cellStyle);HSSFRow row1 = sheet.createRow(1);// 创建HSSFRow对象// 创建HSSFCell对象 HSSFCell cell = row.createCell(0)// 设置单元格的值for(int i=0;i<31;i++){HSSFCell cell1 = row1.createCell(i);cell1.setCellValue(i+1);cell1.setCellStyle(cellStyle);}HSSFRow row2 = sheet.createRow(2);for(int i=0;i<31;i++){HSSFCell cell2 = row2.createCell(i);cell2.setCellValue("正常");cell2.setCellStyle(cellStyle);}HSSFRow row3 = sheet.createRow(3);for(int i=0;i<31;i++){HSSFCell cell3 = row3.createCell(i);cell3.setCellValue("迟到");cell3.setCellStyle(cellStyle);}HSSFRow row4 = sheet.createRow(4);for(int i=0;i<31;i++){HSSFCell cell4 = row4.createCell(i);cell4.setCellValue("请假");cell4.setCellStyle(cellStyle);}try {// 输出Excel文件FileOutputStream output = new FileOutputStream("d:\\workbook.xls");wb.write(output);output.flush();} catch (IOException e) {// TODO Auto-generated catch block
            e.printStackTrace();}}/*** 读取excel*/public static void readExcel(){//导入已存在的Excel文件,获得只读的工作薄对象  FileInputStream fis = null;try {fis = new FileInputStream("d:\\workbook.xls");} catch (FileNotFoundException e) {// TODO Auto-generated catch block
            e.printStackTrace();}  Workbook wk = null;try {wk = Workbook.getWorkbook(fis);} catch (BiffException e) {// TODO Auto-generated catch block
            e.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch block
            e.printStackTrace();}  //获取第一张Sheet表   Sheet sheet = (Sheet) wk.getSheet(0);  //获取总行数  int rowNum = sheet.getRows();//从数据行开始迭代每一行  for(int i=0;i<rowNum;i++){System.out.println(sheet.getCell(0, i).getContents());}try {fis.close();} catch (IOException e) {// TODO Auto-generated catch block
            e.printStackTrace();}  wk.close();  }
}

三、main()方法为生成excel, readExcel()为读取excel。效果图如下

1、生成文件

2、excel内容

3、读取excel

 

 

转载于:https://www.cnblogs.com/Garnett-Boy/p/6909152.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/488257.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一文读懂测序技术在新冠病毒检测中的应用(文末附FAQ)

来源&#xff1a;生物探索随着世界疫情的发展&#xff0c;多个国家进入公共卫生紧急状态&#xff0c;全球科学家都在抓紧研究更好的检测、治疗、防控手段。从最初未知β属冠状病毒的快速鉴定到病毒序列的完整破译&#xff0c;再到病毒序列的变异监测&#xff0c;高通量测序技术…

可以用中文编写python_用中文也能寫Python程式

目前的程式設計中&#xff0c;Android平臺上的App開發算是相當熱門&#xff0c;從電腦書的熱賣&#xff0c;也可看出端倪。在網路書店博客來2011年的年度暢銷榜中&#xff0c;就有好幾本是關於Android開發的電腦書&#xff0c;其中奪下電腦類別第五名的就是《Google!Android 3手…

c 高级语言,C作为高级语言?

So, what C do YOU use in you practice? Do you mix the styles, say, arrays and vectors? Are there any rules or best practices here?…现代C&#xff0c;绝对。但是在我看来&#xff0c;这并不排除阵列。仍然存在阵列优于载体的情况。但是当我使用数组时&#xff0c;…

2020技术趋势报告-中文版

来源&#xff1a;德勤咨询今年的技术趋势报告继续在开篇回顾了11年来的技术趋势发展&#xff0c;展示了技术趋势随时间推移的演进全过程&#xff0c;及最新宏观科技力量作为业务转型基础带来的共生效益&#xff0c;和不久的未来的新兴科技力量。随着企业需要适应不断变化的技术…

HBase:分布式列式NoSQL数据库

传统的ACID数据库&#xff0c;可扩展性上受到了巨大的挑战。而HBase这类系统&#xff0c;兼具可扩展性的同时&#xff0c;也提出了类SQL的接口。 HBase架构组成 HBase采用Master/Slave架构搭建集群&#xff0c;它隶属于Hadoop生态系统&#xff0c;由一下类型节点组成&#xff1…

LINUX装魂斗罗游戏,魂斗罗战甲1-支援形态装置搭配思路及攻略

哈喽&#xff0c;老伙计们大家好&#xff0c;虽然真魂战甲这个机制已经出了有段时间了&#xff0c;但是今天我还是要给大家搞一个深度攻略&#xff0c;别问&#xff01;问就是真男人必须开机甲&#xff01;其实是很多小伙伴向我吐槽血隼副本和虚空副本太过变态&#xff0c;自己…

ui和python_python 将ui转成py(和UI文件放在同一目录,运行)

-- coding: utf-8 --【简介】ui转换成py的转换工具import osimport os.pathUI文件所在的路径dir ./列出目录下的所有ui文件def listUiFile():list []files os.listdir(dir)for filename in files:#print( dir os.sep f )#print(filename)if os.path.splitext(filename)[1]…

好文 | “智能经济”时代,协作机器人的应用前景与趋势探讨

来源&#xff1a;赛迪顾问本文要点一、协作机器人定义及分类二、全球协作机器人发展概况三、中国协作机器人发展概况四、中国协作机器人发展面临瓶颈及趋势展望1、研发设计人才短缺&#xff0c;协作机器人产业创新驱动力不强2、核心零部件技术缺失&#xff0c;是制约我国工业机…

C/C++ scanf 函数中%s 和%c 的简单差别

首先声明&#xff1a;在键盘中敲入字符后&#xff0c;字符会首先保存在键盘缓冲区中供scanf函数读取&#xff08;scanf。getchar等函数是读取缓冲区&#xff0c;getch函数是读取的控制台信息&#xff0c;即为直接从键盘读取&#xff09;。另外特别注意键盘上敲入回车实际为“\r…

c语言求100以内整除13的最大,VB程序设计的一道题,找出100以内能被3整除的所有数之和,并把值保存在一维数组中...

VB程序设计的一道题&#xff0c;找出100以内能被3整除的所有数之和&#xff0c;并把值保存在一维数组中以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;VB程序设计的一道题&#xff0c;找出1…

Cdn英文的读音音标_宋sir的美式音标教程 Unit 1 /i/ tea

剑桥国际英语语音教程&#xff08;Pronunciation Pairs&#xff09;是一本很优秀的美式口音学习教材&#xff0c;其特点是对一些读音相近的音标进行对比&#xff0c;可以帮助学习者进行更准确地道地发音。该教材唯一的缺点就是不够深入&#xff0c;很多知识点并没有进一步详细阐…

兰德报告:思维机器时代的威慑

来源&#xff1a;中国指挥与控制学会从全球来看人工智能和自主系统在军事上的应用逐渐增多&#xff0c;这可能影响危机和冲突中使用的威慑策略以及冲突的升级变化。到目前为止&#xff0c;威慑主要指人类设法阻止其他人采取特定行动的行为。如果参与思维和决策过程的不止人类&a…

c语言设计一维数组,一维数组 (1)C语言程序设计.pdf

C语言程序设计一维数组 C语焉不详内容提要1 一维数组的定义2 一维数组的初始化3 一维数组的引用怎样学好C语言&#xff1f;引例【案例】从键盘上输入某学科竞赛组6名成员的成绩(整数)&#xff0c;求平均成绩、并找出最高分和最低分。分析&#xff1a;6名学生的成绩&#xff0c;…

在windows 2008 R2上安装sharepoint 2013时遇到提示必须安装 .netframeword4.5的处理办法...

近日&#xff0c;有个客户需要个测试环境&#xff0c;需要搭建一个sps2013的测试服务器 但基于服务器软件授权的考虑&#xff0c;让使用windows2008 作为系统服务器 但一安装就碰到个提示&#xff0c;要求先安装framework4.5。结合以往的经验 &#xff0c;估计是系统太新了。后…

转子接地保护原理_转子一点接地保护和转子两点接地保护的作用及发生的原因和处理...

转子一点接地保护和转子两点接地保护的作用及发生的原因和处理转子一点接地保护&#xff1a;作用&#xff1a;用于监视发电机转子励磁回路绝缘(即发生接地或某处绝缘下降时报警)发生的原因&#xff1a;滑环绝缘环&#xff0c;转子槽口绝缘损坏&#xff0c;引线绝缘损坏&#xf…

华为等向联合国提议重构互联网:提议采用一种新的核心网络技术新标准,名为“New IP”...

来源&#xff1a;云头条新架构将支持尖端技术&#xff0c;华为曾表示&#xff0c;新技术的一些部分已经在建造中&#xff0c;相关部分已准备好在2021年之前进行测试。以下为《演示文稿》&#xff1a;《金融时报》消息&#xff0c;中国已向联合国建议对互联网的运作方式进行彻底…

C语言bound函数,C/C++-STL中lower_bound与upper_bound的用法以及cmp函数

ng-repeat里创建的自定义指令在ng里,所有的指令在按照意愿正常工作之前的都需要编译一下,包含angularJS的自定义指令. ng模板里的所有指令都会在angularJS加载完毕之后编译一下,所以那些自定义指令和事件才能工作. ...MSDTC事务配置最近再用SSIS做数据归档,里面用到了分布式事务…

jsfiddle 使用教程

最近有许多的Css 3 demo&#xff0c;因此为了方便查阅&#xff0c;就将demo部分放在 jsfiddle &#xff0c;方便日后翻阅。 这是 JSFIDDLE 的官网文档&#xff0c;都是英文&#xff0c;不过对照看还是可以的&#xff1a;官方文档 HTML区域&#xff1a; 它的HTML区域已经包含 ht…

Nature重磅:管轶等发现穿山甲是SARS-CoV-2的中间宿主

来源&#xff1a;生物谷世界范围内正在爆发的SARS-CoV-2引起的肺炎COVID-19正在给全球人民带来巨大的灾难&#xff0c;了解其来源对于开发治疗和防止以后的再次流行具有重要意义。尽管蝙蝠很可能是SARS-CoV-2的宿主&#xff0c;但是我们仍然不知道可能促进其转移到人类身上的中…

matlab设置图片背景透明_Matlab保存透明图片程序

将以下代码复制到m文件并保存为“im2tm”&#xff0c;即可运行。function im2tm%%%%%%%%--------------------------------------------------------%%此函数将图片的背景处理成透明背景&#xff0c;并将处理后的图片保存为png格式的图片。%%先将要转换的图片放到当前目录下&am…