乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > java如何读取整个excel文件的内容

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

作者:乔山办公网日期:

返回目录:excel表格制作


使用java poi
package webservice;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

public class ExcelController {

@SuppressWarnings("deprecation")
public void excel() throws FileNotFoundException, IOException{

String filename = "d:\\excel.xls";
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(filename));
//按名引用excel工作表
// HSSFSheet sheet = workbook.getSheet("JSP");
//也可以用以下方式来获取excel的工作表,采用工作表的索引值
HSSFSheet sheet = workbook.getSheetAt(0);
HSSFRow row ;
HSSFCell cell1;
int rows=sheet.getLastRowNum();
for(int icount=0;icount<rows;icount++){
row = sheet.getRow(icount);
int line=row.getPhysicalNumberOfCells();
for(int j=0;j<line;j++){
cell1= row.getCell(j);
System.out.println(cell1+"--"+icount+"---"+j);
}
}
//打印读取值
// System.out.println(cell.getStringCellValue());

//新建一输出流
FileOutputStream fout = new FileOutputStream(filename); //PS:filename 是你另存为的路径,不处理直接写入模版文件
//存盘
workbook.write(fout);
fout.flush();
//结束关闭
fout.close();

}

public HSSFCell getCell(HSSFRow row, int index) {

// 取得分发日期单元格
HSSFCell cell = row.getCell(index);

// 如果单元格不存在
if (cell == null) {

// 创建单元格
cell = row.createCell(index);
}

// 返回单e69da5e887aae799bee5baa6335元格
return cell;
}

public static void main(String[] args) {
ExcelController ec = new ExcelController();
try {
ec.excel();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

在Java中读取Excel文件的内容

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

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

一、下载地址

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

二、特性

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

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

生成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("\t");

}

System.out.print("\n");

}

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

workbook.close();


高点版本OFFICE 我用2013 POI肯定支持吧 谁肯定能行通

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.WorkbookSettings;
import jxl.format.Alignment;
import jxl.format.Border;
import jxl.format.BorderLineStyle;
import jxl.format.Colour;
import jxl.format.VerticalAlignment;
import jxl.read.biff.BiffException;
import jxl.write.Formula;
import jxl.write.Label;
import jxl.write.WritableCellFeatures;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;
/**
* <p>标题:readExcel</p>
* <p>描述:读取Excel文件数据</p>
* @param excelfilePath Excel文件路径
* @param startRow 开始行
* @param startCol 开始列
* @return List<ArrayList<String>>
* @throws IOException
* @throws BiffException
*/
public List<ArrayList<String>> readExcel(String excelfilePath,
int startRow, int startCol) throws IOException, BiffException {
// 读取xls文件
InputStream ins = new FileInputStream(excelfilePath);
// 设置读文件编码
WorkbookSettings setEncode = new WorkbookSettings();
setEncode.setEncoding("UTF-8");
Workbook rwb = Workbook.getWorkbook(ins, setEncode);
List<ArrayList<String>> alldata = new ArrayList<ArrayList<String>>();
ArrayList<String> data = null;
alldata.clear();
// 获得当前Excel表共有几个sheet
// Sheet[] sheets = rwb.getSheets();
// 获得表数
// int pages = sheets.length;
// 将excel表中的数据读取出来
// 在从Excel中读取数据的时候不需要知道每个sheet有几行,有那多少列
// for (int i = 0; i < pages; i++) {
Sheet sheet = rwb.getSheet(0);
int cols = sheet.getColumns(); // 列
// 读取每一行对应的列数目
// 循环读取每一行的全部列数目的内容
int rows = sheet.getRows(); // 行
for (int r = startRow; r < rows; r++) {
data = new ArrayList<String>();
// 行循环,Excel的行列是从(0,0)开始
for (int c = startCol; c < cols; c++) {
Cell excelRows = sheet.getCell(c, r);
String strRow = excelRows.getContents();
data.add(strRow);
}
alldata.add(data);
}
// }
ins.close();
return alldata;
}

自己写的java读取excel表格7a64e4b893e5b19e334数据的方法,需要导入jxl包

相关阅读

  • 用AI怎么把表格导入

  • 乔山办公网excel表格制作
  • 有一种转换软件,可以吧PDF格式直接转WOrd或者Excel,而Ai可以保存为PDF格式1、复制Word中的表格,在AI中单击“编辑(E)”——“粘贴(P)”或者Ctrl+V,用鼠标拖动以变换表格位置和大小,最
  • excel表格怎么把兼容模式改为普通模式

  • 乔山办公网excel表格制作
  • 比如一个XLS文件在电脑上编辑后,再传到另一台电脑上,两台电脑的EXCEL版本不同就需要用兼容模式了。不会影响正常使用的。改普通模式方法:1、在打开Excel兼容模式文件,点击左上角
  • excel表格中怎么给数字加圆圈

  • 乔山办公网excel表格制作
  • 有长进,学办公软件了啊?什么时候也教教我啊打开Excel,点击“插入”-“特殊字符”。选择“数字序号”,从中选取带圈字符。1、打开excel表格,在单元格中输入数字“1”,并点击
  • EXCEL表格中点保存为什么会出现另存为

  • 乔山办公网excel表格制作
  • 因为你打开的文件是只读文件打开之前,右键点击文件-“属性”--将“只读”前的勾去掉即可Excel表格中点保存出现另存的原因是:新建的工作薄没有保存过。保存过以后,除非点“另存
关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网