在spring mvc poi导入excel时,怎样获取导入数据的地址

 我来答
一点设计演示
高粉答主

2016-01-19 · 职场/教育各类模板,衷于原创
一点设计演示
采纳数:874 获赞数:83616

向TA提问 私信TA
展开全部

1.项目结构:

2.Excel中的测试数据:

3.数据库结构:

4.对应的SQL:

受司大人
推荐于2016-05-07 · 知道合伙人影视综艺行家
受司大人
知道合伙人影视综艺行家
采纳数:20262 获赞数:171847
毕业于浙江广厦,有一定的电脑专业基础和两年工作经验,读过相关书籍多本

向TA提问 私信TA
展开全部
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
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式