java怎么读取上传的excel文件

Python011

java怎么读取上传的excel文件,第1张

java怎么读取上传的excel文件,解决办法:

添加jar文件,java导入导出Excel文件要引入jxl.jar包,最关键的是这套API是纯Java的,并不依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件。

jxl对Excel表格的认识,每个单元格的位置认为是由一个二维坐标(i,j)给定,其中i表示列,j表示行,并且从上到下递增,从左到右递增。

对于合并单元格的以最左,最上的单元格的坐标为准。如下图中t.xls,一班名单(0,0),陈茵(1,2),陈开先(1,6)。

4.java代码对t.xls的读取

ava操作Excel的一种方法:

在开源世界中,有两套比较有影响的API可供使用,一个是POI,一个是jExcelAPI。

其中jExcelAPI是一个韩国程序员的作品,虽然没有POI那样血统高贵,但是在使用过程中,感觉简单方便,对中文支持非常好,功能也比较强大。

工具:

参考代码及注释如下:

import Java.io.Fileimport java.io.FileInputStreamimport java.io.FileNotFoundExceptionimport java.io.IOExceptionimport java.io.InputStream import org.apache.poi.hssf.usermodel.HSSFWorkbookimport org.apache.poi.ss.usermodel.Cellimport org.apache.poi.ss.usermodel.Rowimport org.apache.poi.ss.usermodel.Sheetimport org.apache.poi.ss.usermodel.Workbookpublic class ReadExcel { public static void readExcel(File file){ try { InputStream inputStream = new FileInputStream(file) String fileName = file.getName() Workbook wb = null// poi-3.9.jar 只可以读取2007以下的版本,后缀为:xsl wb = new HSSFWorkbook(inputStream)//解析xls格式 Sheet sheet = wb.getSheetAt(0)//第一个工作表 ,第二个则为1,以此类推... int firstRowIndex = sheet.getFirstRowNum() int lastRowIndex = sheet.getLastRowNum() for(int rIndex = firstRowIndexrIndex <= lastRowIndexrIndex ++){ Row row = sheet.getRow(rIndex) if(row != null){ int firstCellIndex = row.getFirstCellNum()// int lastCellIndex = row.getLastCellNum() //此处参数cIndex决定可以取到excel的列数。 for(int cIndex = firstCellIndexcIndex <3cIndex ++){ Cell cell = row.getCell(cIndex) String value = "" if(cell != null){ value = cell.toString() System.out.print(value+"\t") } } System.out.println() } } } catch (FileNotFoundException e) { // TODO 自动生成 catch 块 e.printStackTrace() } catch (IOException e) { // TODO 自动生成 catch 块 e.printStackTrace() } } public static void main(String[] args) { File file = new File("D:/test.xls") readExcel(file)}}

//java生成简单的Excel文件

package beans.excel

import java.io.IOException

import java.io.OutputStream

import jxl.Workbook

import jxl.write.Label

import jxl.write.WritableSheet

import jxl.write.WritableWorkbook

import jxl.write.WriteException

 

public class SimpleExcelWrite {

    public void createExcel(OutputStream os) throws WriteException,IOException{

        //创建工作薄

        WritableWorkbook workbook = Workbook.createWorkbook(os)

        //创建新的一页

        WritableSheet sheet = workbook.createSheet("First Sheet",0)

        //创建要显示的内容,创建一个单元格,第一个参数为列坐标,第二个参数为行坐标,第三个参数为内容

        Label xuexiao = new Label(0,0,"学校")

        sheet.addCell(xuexiao)

        Label zhuanye = new Label(1,0,"专业")

        sheet.addCell(zhuanye)

        Label jingzhengli = new Label(2,0,"专业竞争力")

        sheet.addCell(jingzhengli)

        

        Label qinghua = new Label(0,1,"清华大学")

        sheet.addCell(qinghua)

        Label jisuanji = new Label(1,1,"计算机专业")

        sheet.addCell(jisuanji)

        Label gao = new Label(2,1,"高")

        sheet.addCell(gao)

        

        Label beida = new Label(0,2,"北京大学")

        sheet.addCell(beida)

        Label falv = new Label(1,2,"法律专业")

        sheet.addCell(falv)

        Label zhong = new Label(2,2,"中")

        sheet.addCell(zhong)

        

        Label ligong = new Label(0,3,"北京理工大学")

        sheet.addCell(ligong)

        Label hangkong = new Label(1,3,"航空专业")

        sheet.addCell(hangkong)

        Label di = new Label(2,3,"低")

        sheet.addCell(di)

        

        //把创建的内容写入到输出流中,并关闭输出流

        workbook.write()

        workbook.close()

        os.close()

    }

    

}