exceljava读取文件|java如何读取整个excel文件的内容

exceljava读取文件|java如何读取整个excel文件的内容的第1张示图

㈠ java 读取excel文件时 是如何确定文件位置的

String templateFileName = this.servlet.getServletContext().getRealPath("exel文件所在路径");//指定模板FileInputStream stream = new FileInputStream(templateFileName);//取得模板POIFSFileSystem fs = new POIFSFileSystem(stream);//取得模板HSSFWorkbook workbook = new HSSFWorkbook(fs);//取得模板

㈡ java如何直接从流中读取excel的文件内容Stream

读取excel一般使用开源工具包来读取的。因为office文件是经过处理的,用流读到的都是乱码。你可以自己从网络“java 去读excel”找些资料,一堆一堆的。而且都封装好了,用起来也方便。我这也有代码。如果你找到的代码都不可用,我再发给你。

㈢ 如何使用java自动读取web项目中的excel文件

package com.bjhz.gcp.common.util;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import java.sql.Timestamp;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.HashMap;import java.util.List;import java.util.Locale;import java.util.Map;import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSSFCellStyle;import org.apache.poi.hssf.usermodel.HSSFFont;import org.apache.poi.hssf.usermodel.HSSFRichTextString;import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFWorkbook;/** * * 导出EXCEL * @author Herenqing * */public class WritExcel { public static final Integer WRIT_TITLE = 1; public static final Integer NO_WRIT_TITLE = 0; private static String format = "yyyy-MM-dd HH:mm:ss"; private static String nullDisplay = ""; private List<String> columnName = new ArrayList<String>(); private Map<String, String> columnObject = new HashMap<String, String>(); private String savePath; private OutputStream outputStream;/** * 构造写入EXCEL的路径 * 使用 put 方法创建导出的内容 * 使用 writ 方法将对象写入EXCEL * @param savePath * @throws FileNotFoundException */ public WritExcel(String savePath) { this.savePath = savePath; } /** * 构造写入EXCEL的路径 * 使用 put 方法创建导出的内容 * 使用 writOutputStream 方法将对象写入 HSSFWorkbook * @param savePath * @throws FileNotFoundException */ /*public WritExcel() { }*/ /** * 构建导出顺序及导出字段 * @param key 导出字段名 * @param value 表头 */ public void put(String key,String value) { this.columnName.add(key); this.columnObject.put(key, value); } /** * 写入EXCEL * @param <T> 写入EXCEL的对象类型 * @param objects 写入EXCEL的对象 * @param model 写不写表头 * @throws IOException * @throws InvocationTargetException * @throws IllegalAccessException * @throws IllegalArgumentException */ public <T> void writ(List<T> objects,Integer model) throws IOException, IllegalArgumentException, IllegalAccessException, InvocationTargetException { // 创建一个Excel HSSFWorkbook book = new HSSFWorkbook(); // 创建一个工作簿 HSSFSheet sheet = book.createSheet(); // 设置工作簿的默认列宽 sheet.setDefaultColumnWidth(30); Integer start = 0; if (model == WRIT_TITLE) { HSSFCellStyle titleStyle = buildTitleStyle(book); writExcelTitle(sheet,titleStyle); start = WRIT_TITLE; } HSSFCellStyle columnStyle = buildColumnStyle(book); writExcelColumn(objects,start,sheet,columnStyle); outputStream = new FileOutputStream(savePath); book.write(outputStream); outputStream.close(); } /** * 写入EXCEL * @param <T> 写入EXCEL的对象类型 * @param objects 写入EXCEL的对象 * @param model 写不写表头 * @throws IOException * @throws InvocationTargetException * @throws IllegalAccessException * @throws IllegalArgumentException */ /*public <T> HSSFWorkbook writOutputStream(List<T> objects,Integer model) throws IOException, IllegalArgumentException, IllegalAccessException, InvocationTargetException { // 创建一个Excel HSSFWorkbook book = new HSSFWorkbook(); // 创建一个工作簿 HSSFSheet sheet = book.createSheet(); // 设置工作簿的默认列宽 sheet.setDefaultColumnWidth((short)30); Integer start = 0; if (model == WRIT_TITLE) { HSSFCellStyle titleStyle = buildTitleStyle(book); writExcelTitle(sheet,titleStyle); start = WRIT_TITLE; } HSSFCellStyle columnStyle = buildColumnStyle(book); writExcelColumn(objects,start,sheet,columnStyle); return book; }*/ /** * 使用内容样式 * @return */ private HSSFCellStyle buildColumnStyle(HSSFWorkbook book){ // 设置样式 HSSFCellStyle columnStyle = book.createCellStyle(); //titleStyle.setFillForegroundColor(HSSFColor.SKY_BLUE.index); //titleStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); //titleStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); columnStyle.setLeftBorderColor(HSSFCellStyle.BORDER_THIN); columnStyle.setRightBorderColor(HSSFCellStyle.BORDER_THIN); columnStyle.setTopBorderColor(HSSFCellStyle.BORDER_THIN); columnStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 设置字体 HSSFFont font = book.createFont(); //font.setColor(HSSFColor.VIOLET.index); //font.setFontHeight((short)12); //font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); // 把字体应用到当前样式 columnStyle.setFont(font); return columnStyle; }/** * 使用表头样式 */ private HSSFCellStyle buildTitleStyle(HSSFWorkbook book){ // 设置样式 HSSFCellStyle titleStyle = book.createCellStyle(); //titleStyle.setFillForegroundColor(HSSFColor.SKY_BLUE.index); //titleStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); //titleStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); titleStyle.setLeftBorderColor(HSSFCellStyle.BORDER_THIN); titleStyle.setRightBorderColor(HSSFCellStyle.BORDER_THIN); titleStyle.setTopBorderColor(HSSFCellStyle.BORDER_THIN); titleStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 设置字体 HSSFFont font = book.createFont(); //font.setColor(HSSFColor.VIOLET.index); //font.setFontHeight((short)12); font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); // 把字体应用到当前样式 titleStyle.setFont(font); return titleStyle; } /** * 写入表头 */ private void writExcelTitle(HSSFSheet sheet,HSSFCellStyle titleStyle) throws IOException { // 表头 HSSFRow title = sheet.createRow(0); for (Integer i = 0; i < columnName.size(); i++) { HSSFCell cell = title.createCell(i); cell.setCellStyle(titleStyle); HSSFRichTextString value = new HSSFRichTextString(columnObject.get(columnName.get(i))); cell.setCellValue(value); } } /** * 写入内容 * @throws InvocationTargetException * @throws IllegalAccessException * @throws IllegalArgumentException */ private <T> void writExcelColumn(List<T> objects,Integer start,HSSFSheet sheet,HSSFCellStyle titleStyle) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException{ for (int i = 0; i < objects.size(); i++) { Object object = objects.get(i); Class<?> cls = object.getClass(); HSSFRow column = sheet.createRow(start); for (int j = 0; j < columnName.size(); j++) { try { Method method = cls.getMethod(getMethod(columnName.get(j))); Object invokeResult = method.invoke(object); String result = returnTypeResult(invokeResult); HSSFCell cell = column.createCell(j); cell.setCellStyle(titleStyle); HSSFRichTextString value = new HSSFRichTextString(result); cell.setCellValue(value); } catch (NoSuchMethodException e) { continue; } } start++; } } /** * 构建get方法 */ private static String getMethod(String fieldName){ return "get"+fieldName.substring(0,1).toUpperCase(Locale.CHINA)+fieldName.substring(1); }private static String returnTypeResult(Object object){ if (object == null) { return nullDisplay; } if (object.getClass().getName().equals("java.util.Date")) { return formatDate(object); }else if (object.getClass().getName().equals("java.sql.Timestamp")) { Timestamp timestamp = Timestamp.valueOf(object.toString()); Date date = timestamp; return formatDate(date); }else { return object.toString(); } } /** * formatDate */ private static String formatDate(Object date) { return new SimpleDateFormat(format).format(date); }}

㈣ 在Java中读取一个本地的Excel文件

是JSP写的吗?JSP好像不能直接写到客户端本地吧。。。。应该先以文件的形式保存到服务器.在下载

㈤ java如何读取整个excel文件的内容

在Java中读取Excel文件的内容

在这里,我使用的是一个叫Java Excel API的东西,类似的还有的POI,不过感觉那个

太复杂了点儿。而且jxl对中文的支持相当的好,至少我在用的过程中一点问题没出。

一、下载地址

http://www.andykhan.com/jexcelapi/

二、特性

可以读取Excel 95, 97, 2000文件

可以读或写Excel 97及其以后版本的的公式(不过我发现好像有bug)

生成Excel 97格式的电子表格

支持字体、数字和日期格式化

支持单元格的颜色和阴影

可以编辑现有的文件

三、读文件

//声明一下,记得后面要关闭哦。。

Workbook workbook = null;

try {

workbook = Workbook.getWorkbook(new File("d:\temp\TestRead.xls"));

} catch (Exception e) {

throw new Exception("file to import not found!");

}

Sheet sheet = workbook.getSheet(0);

Cell cell = null;

int columnCount=3;

int rowCount=sheet.getRows();

for (int i = 0; i<rowcount; p="" {

for (int j = 0; j<columncount; p="" {

//注意,这里的两个参数,第一个是表示列的,第二才表示行

cell=sheet.getCell(j, i);

//要根据单元格的类型分别做处理,否则格式化过的内容可能会不正确

if(cell.getType()==CellType.NUMBER){

System.out.print(((NumberCell)cell).getValue());

}

else if(cell.getType()==CellType.DATE){

System.out.print(((DateCell)cell).getDate());

}

else{

System.out.print(cell.getContents());

}

//System.out.print(cell.getContents());

System.out.print("");

}

System.out.print("");

}

//关闭它,否则会有内存泄露

workbook.close();

㈥ Java中如何读取excel文件内容并且将内容以表格的形式显示在窗体里

这个设计的内容如下:

PoI技术,将表格数据解析存储到数据库

数据显示,jqGrid这些专业的图表数据显示插件可以完成,当然也可以在JSP页面用普通的<table>标签实现

㈦ 如何用JAVA读取EXCEL文件里面的数据

使用poi能解决你的问题或者是import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.io.IOException;import static java.lang.System.out;public class FileTest {/*** @param args* @throws IOException*/public static void main(String[] args) throws IOException {String string = "";File file = new File("c:" + File.separator + "xxx.xls");FileReader fr = new FileReader(file);BufferedReader br = new BufferedReader(fr);String str;while((str = br.readLine()) != null) {string += str;}out.println(string);}}

㈧ java 读取Excel 文件

poi 本身遇到没有内容的单元格的时候就不读了,也就是说,一个row有六个单元格有内容,第七个和以后没有内容的话,row的 长度就是 6啦,你根本读取不到第七个的,所以也不必自己做判断。如果任然遇到,明明是6个单元格有内容,以后没有,但是读取到了多余6个的cell的时候,说明其他的单元格还是有内容的。

㈨ JAVA读取EXCEL文件

相关功能代码比较多 贴出来不是很方便 我跟你说一下思路吧首先是用到的工具是poi 这个你可以去官网载一个其次 你要注意区分你的excel 是旧的还是新的 office 07版之前和07版之后的 读取的类不一样把握住这2点 差不多就OK了大体的读取流程是读取workbook -> sheet -> row -> col

未经允许不得转载:山九号 » exceljava读取文件|java如何读取整个excel文件的内容

赞 (0)