在spring mvc poi导入excel时,怎样获取导入数据的地址
2个回答
推荐于2016-05-07 · 知道合伙人影视综艺行家
关注
展开全部
POI是什么?
Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程式对Microsoft Office格式档案读和写的功能。
.NET的开发人员则可以利用NPOI (POI for .NET) 来存取 POI 的功能。
如何使用POI?
可查看 POI官方文档 或 POI操作
导入POI包?
MyEclipse导入POI:右键项目-Build Path-Add Library-User Library-User Libraries-New-Add Jar-选中以下3个包-OK-Finish
数据库创建一个表Academy并插入数据
CREATE TABLE `t_academy` (
`academy_id` int(11) NOT NULL AUTO_INCREMENT,
`academy` varchar(20) DEFAULT NULL,
PRIMARY KEY (`academy_id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8;
INSERT INTO `t_academy` VALUES ('1', '经济与管理学院');
INSERT INTO `t_academy` VALUES ('2', '政法学院');
INSERT INTO `t_academy` VALUES ('3', '教育学院');
INSERT INTO `t_academy` VALUES ('4', '体育与健康学院');
INSERT INTO `t_academy` VALUES ('5', '文学院');
INSERT INTO `t_academy` VALUES ('6', '外国语学院');
INSERT INTO `t_academy` VALUES ('7', '音乐学院');
INSERT INTO `t_academy` VALUES ('8', '美术学院');
INSERT INTO `t_academy` VALUES ('9', '数学与信息科学学院');
INSERT INTO `t_academy` VALUES ('10', '化学化工');
INSERT INTO `t_academy` VALUES ('11', '生命科学学院');
INSERT INTO `t_academy` VALUES ('12', '电子信息与机电工程学院');
INSERT INTO `t_academy` VALUES ('13', '计算机学院与软件学院');
INSERT INTO `t_academy` VALUES ('14', '旅游与历史文化学院');
Spring MVC基本配置
web.xml
spring-servlet.xml
applicationContext.xml
定义一个Academy对象
public class Academy implements Serializable{
private Long academyId;
private String academy;
//getter&setter
}
使用POI操作Excel
注意:POI里不同的模块代表对不同格式档案的操作
HSSF - 提供读写Microsoft Excel XLS格式档案的功能。
XSSF - 提供读写Microsoft Excel OOXML XLSX格式档案的功能。
HWPF - 提供读写Microsoft Word DOC格式档案的功能。
HSLF - 提供读写Microsoft PowerPoint格式档案的功能。
HDGF - 提供读Microsoft Visio格式档案的功能。
HPBF - 提供读Microsoft Publisher格式档案的功能。
HSMF - 提供读Microsoft Outlook格式档案的功能。
POI包
Layouter.java(对导出的Excel进行自定义格式)
package zqu.recruit.poi;
import java.awt.Color;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.poi.ss.usermodel.Font;
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.util.CellRangeAddress;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.ss.usermodel.CellStyle;
@SuppressWarnings("deprecation")//表示不检测过期的方法
public class Layouter {
public static void buildReport(HSSFSheet worksheet,int startRowIndex,
int startColIndex){
//设置列宽
worksheet.setColumnWidth(0, 5200);
worksheet.setColumnWidth(1, 5200);
buildTitle(worksheet,startRowIndex,startColIndex);
buildHeaders(worksheet,startRowIndex,startColIndex);
}
private static void buildHeaders(HSSFSheet worksheet, int startRowIndex,
int startColIndex) {
// Header字体
Font font = worksheet.getWorkbook().createFont();
font.setBoldweight((short)Font.BOLDWEIGHT_BOLD);
//font.setColor(HSSFColor.BLUE.index);//设置字体颜色
// 单元格样式
HSSFCellStyle headerCellStyle = worksheet.getWorkbook()
.createCellStyle();
//headerCellStyle.setFillForegroundColor(HSSFColor.GREY_80_PERCENT.index);//前景色
//headerCellStyle.setFillBackgroundColor(HSSFColor.GREY_80_PERCENT.index);//背景色
//headerCellStyle.setFillPattern(CellStyle.FINE_DOTS); //设置填充方式
headerCellStyle.setAlignment(CellStyle.ALIGN_CENTER);
headerCellStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
headerCellStyle.setWrapText(true);
headerCellStyle.setFont(font);
headerCellStyle.setBorderBottom(CellStyle.BORDER_THIN);
headerCellStyle.setBorderLeft(CellStyle.BORDER_THIN);
headerCellStyle.setBorderRight(CellStyle.BORDER_THIN);
headerCellStyle.setBorderTop(CellStyle.BORDER_THIN);
// 创建字段标题
HSSFRow rowHeader = worksheet.createRow((short) startRowIndex + 2);
rowHeader.setHeight((short) 500);
HSSFCell cell1 = rowHeader.c
Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程式对Microsoft Office格式档案读和写的功能。
.NET的开发人员则可以利用NPOI (POI for .NET) 来存取 POI 的功能。
如何使用POI?
可查看 POI官方文档 或 POI操作
导入POI包?
MyEclipse导入POI:右键项目-Build Path-Add Library-User Library-User Libraries-New-Add Jar-选中以下3个包-OK-Finish
数据库创建一个表Academy并插入数据
CREATE TABLE `t_academy` (
`academy_id` int(11) NOT NULL AUTO_INCREMENT,
`academy` varchar(20) DEFAULT NULL,
PRIMARY KEY (`academy_id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8;
INSERT INTO `t_academy` VALUES ('1', '经济与管理学院');
INSERT INTO `t_academy` VALUES ('2', '政法学院');
INSERT INTO `t_academy` VALUES ('3', '教育学院');
INSERT INTO `t_academy` VALUES ('4', '体育与健康学院');
INSERT INTO `t_academy` VALUES ('5', '文学院');
INSERT INTO `t_academy` VALUES ('6', '外国语学院');
INSERT INTO `t_academy` VALUES ('7', '音乐学院');
INSERT INTO `t_academy` VALUES ('8', '美术学院');
INSERT INTO `t_academy` VALUES ('9', '数学与信息科学学院');
INSERT INTO `t_academy` VALUES ('10', '化学化工');
INSERT INTO `t_academy` VALUES ('11', '生命科学学院');
INSERT INTO `t_academy` VALUES ('12', '电子信息与机电工程学院');
INSERT INTO `t_academy` VALUES ('13', '计算机学院与软件学院');
INSERT INTO `t_academy` VALUES ('14', '旅游与历史文化学院');
Spring MVC基本配置
web.xml
spring-servlet.xml
applicationContext.xml
定义一个Academy对象
public class Academy implements Serializable{
private Long academyId;
private String academy;
//getter&setter
}
使用POI操作Excel
注意:POI里不同的模块代表对不同格式档案的操作
HSSF - 提供读写Microsoft Excel XLS格式档案的功能。
XSSF - 提供读写Microsoft Excel OOXML XLSX格式档案的功能。
HWPF - 提供读写Microsoft Word DOC格式档案的功能。
HSLF - 提供读写Microsoft PowerPoint格式档案的功能。
HDGF - 提供读Microsoft Visio格式档案的功能。
HPBF - 提供读Microsoft Publisher格式档案的功能。
HSMF - 提供读Microsoft Outlook格式档案的功能。
POI包
Layouter.java(对导出的Excel进行自定义格式)
package zqu.recruit.poi;
import java.awt.Color;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.poi.ss.usermodel.Font;
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.util.CellRangeAddress;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.ss.usermodel.CellStyle;
@SuppressWarnings("deprecation")//表示不检测过期的方法
public class Layouter {
public static void buildReport(HSSFSheet worksheet,int startRowIndex,
int startColIndex){
//设置列宽
worksheet.setColumnWidth(0, 5200);
worksheet.setColumnWidth(1, 5200);
buildTitle(worksheet,startRowIndex,startColIndex);
buildHeaders(worksheet,startRowIndex,startColIndex);
}
private static void buildHeaders(HSSFSheet worksheet, int startRowIndex,
int startColIndex) {
// Header字体
Font font = worksheet.getWorkbook().createFont();
font.setBoldweight((short)Font.BOLDWEIGHT_BOLD);
//font.setColor(HSSFColor.BLUE.index);//设置字体颜色
// 单元格样式
HSSFCellStyle headerCellStyle = worksheet.getWorkbook()
.createCellStyle();
//headerCellStyle.setFillForegroundColor(HSSFColor.GREY_80_PERCENT.index);//前景色
//headerCellStyle.setFillBackgroundColor(HSSFColor.GREY_80_PERCENT.index);//背景色
//headerCellStyle.setFillPattern(CellStyle.FINE_DOTS); //设置填充方式
headerCellStyle.setAlignment(CellStyle.ALIGN_CENTER);
headerCellStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
headerCellStyle.setWrapText(true);
headerCellStyle.setFont(font);
headerCellStyle.setBorderBottom(CellStyle.BORDER_THIN);
headerCellStyle.setBorderLeft(CellStyle.BORDER_THIN);
headerCellStyle.setBorderRight(CellStyle.BORDER_THIN);
headerCellStyle.setBorderTop(CellStyle.BORDER_THIN);
// 创建字段标题
HSSFRow rowHeader = worksheet.createRow((short) startRowIndex + 2);
rowHeader.setHeight((short) 500);
HSSFCell cell1 = rowHeader.c
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询