Вывод отчета - это контент, который часто участвует в разработке приложений Java, и общие отчеты часто не имеют универсальности и не удобны для пользователей для редактирования персонализированных. Из-за своих кроссплатформенных функций программы Java не могут напрямую манипулировать Excel. Таким образом, в этой статье обсуждается программа Java POI, чтобы читать и импортировать Excel.
Структура проекта:
java_poi_excel
Используются файлы Excel:
XLS
Xlsmain. Java Class
// Этот класс имеет основной метод, который в основном отвечает за работу программы. В то же время, этот класс также включает чтение Excel с POI (версия 2003) импортировать java.io.fileinputstream; импорт java.io.ioexception; import java.io.inputstream; импорт java.util.arraylist; import java.util.list; import java.util.list; import org.poi.hasssssssssss org.apache.poi.hssf.usermodel.hssfrow; импорт org.apache.poi.hssf.usermodel.hssfsheet; импорт org.apache.poi.hssf.usermodel.hssfworkbook; /** * * @author hongten </br> * * */public class xlsmain {public static void main (string [] args) бросает ioexception {xlsmain xlsmain = new xlsmain (); Xlsdto xls = null; Список <xlsdto> list = xlsmain.readxls (); try {xlsdto2excel.xlsdto2excel (list); } catch (Exception e) {e.printstackTrace (); } for (int i = 0; i <list.size (); i ++) {xls = (xlsdto) list.get (i); System.out.println (xls.getxh () + "" + xls.getxm () + "" + xls.getyxsmc () + "" + xls.getkcm () + "" + xls.getkcm () + "" + xls.getcj ()); }}/*** Прочтите содержимое файла XLS** @return List <xlsdto> Object* @Throws ioException* input/output (i/o) исключение*/private list <xlsdto> readxls () throws ioException {inputStream Is = new FileInptream ("pldrxkxmb.xls"); HSSFWorkBook HSSFWorkBook = New HSSFWorkBook (IS); Xlsdto xlsdto = null; Список <xlsdto> list = new ArrayList <Xlsdto> (); // Лист петли для (int Quincheep = 0; Nectheest <HSSFWorkBook.getNumberOfSheets (); Nequest ++) {hssfsheet hssfsheet = hssfworkbook.getsheetat (incresheet); if (hssfsheet == null) {продолжить; } // строка строки петли для (int rownum = 1; rownum <= hssfsheet.getLastrownum (); rownum ++) {hssfrow hssfrow = hssfsheet.getrow (rownum); if (hssfrow == null) {продолжить; } xlsdto = new xlsdto (); // Цикл Cloom Cell // 0 Студент номер 1 Имя 2 Колледж 3 Имя курса 4 Оценка // для (int cellnum = 0; cellnum <= 4; cellnum ++) {hssfcell xh = hssfrow.getcell (0); if (xh == null) {продолжить; } xlsdto.setxh (getValue (xh)); Hssfcell xm = hssfrow.getcell (1); if (xm == null) {продолжить; } xlsdto.setxm (getValue (xm)); Hssfcell yxsmc = hssfrow.getcell (2); if (yxsmc == null) {продолжить; } xlsdto.setyxsmc (getValue (yxsmc)); Hssfcell kcm = hssfrow.getcell (3); if (kcm == null) {продолжить; } xlsdto.setkcm (getValue (kcc)); HSSFCELL CJ = HSSFROW.GETCELL (4); if (cj == null) {продолжить; } xlsdto.setcj (float.parsefloat (getValue (cj))); list.add (xlsdto); }} return List; } / ** * Получите значение в таблице Excel * * @param hssfcell * Каждая сетка в Excel * @return в каждой сетке в Excel * / @suppresswarnings ("static-access") private string getValue (hssfcell hssfcell) {if (hssfcell.getcelltue () = hssfcell.cell_type_boolean) {// возвращать значение логического типа return string.valueof (hssfcell.getbooleancellvalue ()); } else if (hssfcell.getCelltype () == hssfcell.cell_type_numeric) {// возвращать значение цифрового типа return string.valueof (hssfcell.getnumericcellvalue ()); } else {// возвращать значение типа строки return string.valueof (hssfcell.getStringCellValue ()); }}}Xlsdto2excel.java class
// Этот класс несет главным образом ответственным за вставку данных в Excel (версия 2003 года) импортировать java.io.fileOutputStream; импортировать java.io.outputstream; import java.util.list; Импорт org.apache.poi.hssf.usermodel.hssfcell; import org.apache.poi.hssf.usermodel.hssfrichtextString; import org.apache.poi.hssf.usermodel.hssfsheet; import org.pache. открытый класс xlsdto2excel { / ** * * @param xls * объект класса xlsdto entity * @Throws Exception * бросает исключение во время импорта Excel * / public static void xlsdto2excel (list <xlsdto> xls) tophous {// get общее количество колонн intcolumnnum = xls). // Создать документ Excel HSSFWorkBook HWB = new HSSFWorkBook (); Xlsdto xlsdto = null; // лист соответствует рабочей странице HSSFSHEET SHEEF = HWB.CREATESHEET ("PLDRXKXXMB"); Hssfrow firstrow = sheet.createrow (0); // запустить строку с помощью script 0 hssfcell [] firstcell = new hssfcell [countcolumnnum]; String [] names = new String [countColumnnum]; имена [0] = "номер студента"; имена [1] = "name"; имена [2] = "колледж"; имена [3] = "имя курса"; имена [4] = "Оценка"; for (int j = 0; j <countcolumnnum; j ++) {firstcell [j] = firstrow.createcell (j); FirstCell [j] .SetCellValue (новый hssfrichtextString (names [j])); } for (int i = 0; i <xls.size (); i ++) {// Создать строку hssfrow row = sheet.createrow (i+1); // Получить каждую запись, которая будет вставлена xlsdto = xls.get (i); for (int colu = 0; colu <= 4; colu ++) {// цикл в строке hssfcell xh = row.createcell (0); xh.setcellvalue (xlsdto.getxh ()); Hssfcell xm = row.createcell (1); xm.setcellvalue (xlsdto.getxm ()); Hssfcell yxsmc = row.createCell (2); yxsmc.setcellvalue (xlsdto.getyyxsmc ()); Hssfcell kcm = row.createcell (3); kcm.setcellvalue (xlsdto.getkcm ()); HSSFCELL CJ = ROW.CreateCell (4); cj.setcellvalue (xlsdto.getcj ()); (xlsdto.getmessage ()); }} // Создать выходной поток файла и подготовить выходную таблицу Spreadship outputStream OUT = new FileOutputStream ("POI2EXCEL/PLDRXKXXMB.XLS"); hwb.write (out); out.close (); System.out.println ("Экспорт базы данных успешно"); }}Xlsdto. Java Class
// Этот класс является классом объекта открытого класса xlsdto {/*** Номер выбора курса*/private integer xkh; / *** Номер студента*/ частная строка XH; / *** Имя*/ Приватная строка XM; / *** колледж*/ частная строка yxsmc; / *** Номер курса*/ private integer kch; / *** Имя курса*/ частная строка KCM; / *** Оценка*/ Private Float CJ; public integer getxkh () {return xkhh; } public void setxkh (Integer xkh) {this.xkh = xkh; } public String getExh () {return xh; } public void setxh (String xh) {this.xh = xh; } public String getExm () {return xm; } public void setxm (String xm) {this.xm = xm; } public String getyxSmc () {return yxsmc; } public void setyxSmc (string yxsmc) {this.yxsmc = yxsmc; } public integer getkch () {return kch; } public void setkch (integer kch) {this.kch = kch; } public String getKcm () {return kcm; } public void setKcm (String kcm) {this.kcm = kcm; } public float getCj () {return cj; } public void setCj (float cj) {this.cj = cj; }}Фоновая вывод:
Экспорт базы данных успешно
1.0 Hongten School of Information Technology Basics Computer Network Basics 80.0
2.0 Wangwu Information Technology College Setwork Basics приложения 81.0
3.0 Li Shengji Школа информационных технологий. Основы приложения компьютерной сети 82.0
4.0 Основы приложения компьютерной сети Колледжа информационных технологий класса 5 83.0
5.0 Cai Shiyun Школа информационных технологий. Основы приложения компьютерной сети 84.0
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.