java如何读取整个excel文件的内容
发布时间:2025-05-21 05:51:11 发布人:远客网络
一、java如何读取整个excel文件的内容
1、本例使用java来读取excel的内容并展出出结果,代码如下:
2、import java.io.BufferedInputStream;
3、import java.io.FileInputStream;
4、import java.io.FileNotFoundException;
5、import java.text.DecimalFormat;
6、import java.text.SimpleDateFormat;
7、import org.apache.poi.hssf.usermodel.HSSFCell;
8、import org.apache.poi.hssf.usermodel.HSSFDateUtil;
9、import org.apache.poi.hssf.usermodel.HSSFRow;
10、import org.apache.poi.hssf.usermodel.HSSFSheet;
11、import org.apache.poi.hssf.usermodel.HSSFWorkbook;
12、import org.apache.poi.poifs.filesystem.POIFSFileSystem;
13、 public static void main(String[] args) throws Exception{
14、 File file= new File("ExcelDemo.xls");
15、 String[][] result= getData(file, 1);
16、 int rowLength= result.length;
17、 for(int i=0;i<rowLength;i++){
18、 for(int j=0;j<result[i].length;j++){
19、 System.out.print(result[i][j]+"\t\t");
20、*读取Excel的内容,第一维数组存储的是一行中格列的值,二维数组存储的是多少个行
21、*@param ignoreRows读取数据忽略的行数,比喻行头不需要读入忽略的行数为1
22、*@return读出的Excel中数据的内容
23、*@throws FileNotFoundException
24、 public static String[][] getData(File file, int ignoreRows)
25、 throws FileNotFoundException, IOException{
26、 List<String[]> result= new ArrayList<String[]>();
27、 BufferedInputStream in= new BufferedInputStream(new FileInputStream(
28、 POIFSFileSystem fs= new POIFSFileSystem(in);
29、 HSSFWorkbook wb= new HSSFWorkbook(fs);
30、 for(int sheetIndex= 0; sheetIndex< wb.getNumberOfSheets(); sheetIndex++){
31、 HSSFSheet st= wb.getSheetAt(sheetIndex);
32、 for(int rowIndex= ignoreRows; rowIndex<= st.getLastRowNum(); rowIndex++){
33、 HSSFRow row= st.getRow(rowIndex);
34、 int tempRowSize= row.getLastCellNum()+ 1;
35、 String[] values= new String[rowSize];
36、 for(short columnIndex= 0; columnIndex<= row.getLastCellNum(); columnIndex++){
37、 cell= row.getCell(columnIndex);
38、//注意:一定要设成这个,否则可能会出现乱码
39、 cell.setEncoding(HSSFCell.ENCODING_UTF_16);
40、 case HSSFCell.CELL_TYPE_STRING:
41、 value= cell.getStringCellValue();
42、 case HSSFCell.CELL_TYPE_NUMERIC:
43、 if(HSSFDateUtil.isCellDateFormatted(cell)){
44、 Date date= cell.getDateCellValue();
45、 value= new SimpleDateFormat("yyyy-MM-dd")
46、 value= new DecimalFormat("0").format(cell
47、 case HSSFCell.CELL_TYPE_FORMULA:
48、//导入时如果为公式生成的数据则无值
49、 if(!cell.getStringCellValue().equals("")){
50、 value= cell.getStringCellValue();
51、 value= cell.getNumericCellValue()+"";
52、 case HSSFCell.CELL_TYPE_BLANK:
53、 case HSSFCell.CELL_TYPE_ERROR:
54、 case HSSFCell.CELL_TYPE_BOOLEAN:
55、 value=(cell.getBooleanCellValue()== true?"Y"
56、 if(columnIndex== 0&& value.trim().equals("")){
57、 values[columnIndex]= rightTrim(value);
58、 String[][] returnArray= new String[result.size()][rowSize];
59、 for(int i= 0; i< returnArray.length; i++){
60、 returnArray[i]=(String[]) result.get(i);
61、 public static String rightTrim(String str){
62、 for(int i= length- 1; i>= 0; i--){
63、 return str.substring(0, length);
二、怎么用java代码读取excel文件
1、本例使用java来读取excel的内容并展出出结果,代码如下:
2、import java.io.BufferedInputStream;
3、import java.io.FileInputStream;
4、import java.io.FileNotFoundException;
5、import java.text.DecimalFormat;
6、import java.text.SimpleDateFormat;
7、import org.apache.poi.hssf.usermodel.HSSFCell;
8、import org.apache.poi.hssf.usermodel.HSSFDateUtil;
9、import org.apache.poi.hssf.usermodel.HSSFRow;
10、import org.apache.poi.hssf.usermodel.HSSFSheet;
11、import org.apache.poi.hssf.usermodel.HSSFWorkbook;
12、import org.apache.poi.poifs.filesystem.POIFSFileSystem;
13、 public static void main(String[] args) throws Exception{
14、 File file= new File("ExcelDemo.xls");
15、 String[][] result= getData(file, 1);
16、 int rowLength= result.length;
17、 for(int i=0;i<rowLength;i++){
18、 for(int j=0;j<result[i].length;j++){
19、 System.out.print(result[i][j]+"\t\t");
20、*读取Excel的内容,第一维数组存储的是一行中格列的值,二维数组存储的是多少个行
21、*@param ignoreRows读取数据忽略的行数,比喻行头不需要读入忽略的行数为1
22、*@return读出的Excel中数据的内容
23、*@throws FileNotFoundException
24、 public static String[][] getData(File file, int ignoreRows)
25、 throws FileNotFoundException, IOException{
26、 List<String[]> result= new ArrayList<String[]>();
27、 BufferedInputStream in= new BufferedInputStream(new FileInputStream(
28、 POIFSFileSystem fs= new POIFSFileSystem(in);
29、 HSSFWorkbook wb= new HSSFWorkbook(fs);
30、 for(int sheetIndex= 0; sheetIndex< wb.getNumberOfSheets(); sheetIndex++){
31、 HSSFSheet st= wb.getSheetAt(sheetIndex);
32、 for(int rowIndex= ignoreRows; rowIndex<= st.getLastRowNum(); rowIndex++){
33、 HSSFRow row= st.getRow(rowIndex);
34、 int tempRowSize= row.getLastCellNum()+ 1;
35、 String[] values= new String[rowSize];
36、 for(short columnIndex= 0; columnIndex<= row.getLastCellNum(); columnIndex++){
37、 cell= row.getCell(columnIndex);
38、//注意:一定要设成这个,否则可能会出现乱码
39、 cell.setEncoding(HSSFCell.ENCODING_UTF_16);
40、 case HSSFCell.CELL_TYPE_STRING:
41、 value= cell.getStringCellValue();
42、 case HSSFCell.CELL_TYPE_NUMERIC:
43、 if(HSSFDateUtil.isCellDateFormatted(cell)){
44、 Date date= cell.getDateCellValue();
45、 value= new SimpleDateFormat("yyyy-MM-dd")
46、 value= new DecimalFormat("0").format(cell
47、 case HSSFCell.CELL_TYPE_FORMULA:
48、//导入时如果为公式生成的数据则无值
49、 if(!cell.getStringCellValue().equals("")){
50、 value= cell.getStringCellValue();
51、 value= cell.getNumericCellValue()+"";
52、 case HSSFCell.CELL_TYPE_BLANK:
53、 case HSSFCell.CELL_TYPE_ERROR:
54、 case HSSFCell.CELL_TYPE_BOOLEAN:
55、 value=(cell.getBooleanCellValue()== true?"Y"
56、 if(columnIndex== 0&& value.trim().equals("")){
57、 values[columnIndex]= rightTrim(value);
三、在java中如何使用poi从excel中读取数据
1、使用EasyExcel读取Excel文件在Java中的流程相当直观,借助于阿里开源的EasyExcel库,开发者可以轻松地完成这一任务。EasyExcel提供了一套简单而强大的API,帮助开发者快速实现Excel数据的读取。
2、以下是一个示例代码,展示如何使用EasyExcel读取Excel文件:
3、List dataList= EasyExcel.read("/path/to/your/excel/file.xlsx")
4、这里需要注意的是,您需要将`/path/to/your/excel/file.xlsx`替换为实际的Excel文件路径,同时,`YourData`类应当根据Excel文件中的列名和数据类型进行创建,以确保与文件内容的匹配。请根据实际项目需求定义这个类。
5、为了深入了解EasyExcel的用法和功能,您还可以参考其官方文档:基于Java的Excel处理工具| Easy Excel。这份文档提供了详细的API介绍、示例代码以及常见问题解答,有助于您更熟练地使用这个库。
6、总之,使用EasyExcel进行Excel文件数据读取是一个高效且便捷的过程。借助于其简单的API和丰富的文档支持,开发者可以轻松地将Excel数据整合到Java应用中,从而实现更加灵活和强大的数据处理功能。