1. 程式人生 > >解決java讀取excel檔案有小數點的問題

解決java讀取excel檔案有小數點的問題

package com.hmy.ssh.myMethod;
import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
import java.util.ArrayList;
 import java.util.List;

 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;

import com.hmy.ssh.bean.User;
 
 //import com.b510.common.Common;
 //import com.b510.excel.vo.Student;
/*
 * 1.通過java讀取excel文件儲存資訊,必須先寫好行數、對應的列。
 * 2.使用者選擇路徑就可以
 * 
 * */

public class ReadUserExcel {
	public static void main(String[] args){
		ReadUserExcel  readExcel=new ReadUserExcel();
		try {
			List  exam=readExcel.readXls("F:\\a1專案設計(IT科技節)\\課程網線上中心\\讀取文件\\userText0404.xls");
			for(User  myexam:exam){
				System.out.println(myexam);
			}
			
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	/*
	 * 通過路徑儲存使用者資訊
	 * */
	public List readXls(String path) throws IOException {
		       // InputStream is = new FileInputStream(Common.EXCEL_PATH);
	//	InputStream is = new FileInputStream("F:\\a1專案設計(IT科技節)\\課程網線上中心\\讀取文件\\userText0404.xls");
		
		InputStream is = new FileInputStream(path);
		HSSFWorkbook hssfWorkbook = new HSSFWorkbook(is);
		        User user = null;
		        List list = new ArrayList();
		         // 迴圈工作表Sheet
		        for (int numSheet = 0; numSheet < hssfWorkbook.getNumberOfSheets(); numSheet++) {
		            HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(numSheet);
		             if (hssfSheet == null) {
		                continue;
		             }
		            // 迴圈行Row
             for (int rowNum = 1; rowNum <= hssfSheet.getLastRowNum(); rowNum++) {
		                HSSFRow hssfRow = hssfSheet.getRow(rowNum);
	                 if (hssfRow != null) {
	                	 user= new User();
		                 HSSFCell userid = hssfRow.getCell(0);
		                 userid.setCellType(userid.CELL_TYPE_STRING);
		                 HSSFCell userName = hssfRow.getCell(1);
		                 userName.setCellType(userid.CELL_TYPE_STRING);
	                     HSSFCell userPwd = hssfRow.getCell(2);
	                     userPwd.setCellType(userid.CELL_TYPE_STRING);
	                     HSSFCell userEmail = hssfRow.getCell(3);
	                     userEmail.setCellType(userid.CELL_TYPE_STRING);
	                     HSSFCell userPhone = hssfRow.getCell(4);
	                     userPhone.setCellType(userid.CELL_TYPE_STRING);
		                  HSSFCell userType = hssfRow.getCell(5);
		                  userType.setCellType(userid.CELL_TYPE_STRING);
	                     HSSFCell trueName = hssfRow.getCell(6);
	                     trueName.setCellType(userid.CELL_TYPE_STRING);
	                     HSSFCell authority = hssfRow.getCell(7);
	                     authority.setCellType(userid.CELL_TYPE_STRING);
	                     
	                     // 雖然excel中設定的都是文字,但是數字文字還被讀錯,如“1”取成“1.0”
	                     // 加上下面這句,臨時把它當做文字來讀取
	                  //   userid.setCellType(userid.CELL_TYPE_STRING);
		                 System.out.println(getValue(userid));
		                 //------測試新加入
		    
		                 
	                     user.setUserid(Integer.parseInt(getValue(userid)));
	                     user.setUserName(getValue(userName));
	                     user.setUserPwd(getValue(userPwd));
	                     user.setUserEmail(getValue(userEmail));
	                     user.setUserPhone(getValue(userPhone));
	                     user.setUserType(getValue(userType));
	                     user.setTrueName(getValue(trueName));
	                   //  user.setRightResult(getValue(authority));
	                     user.setAuthority(Integer.valueOf(getValue(authority)));
		                 list.add(user);
		              //   System.out.println("myExam:"+user);
	                  //    student.setNo(getValue(no));
		            //        student.setName(getValue(name));
		           //         student.setAge(getValue(age));
		           //         student.setScore(Float.valueOf(getValue(score)));
		           //          list.add(student);
	                 }
	            }
	        }
	       return list;
    }
	  
	     @SuppressWarnings("static-access")
		    private String getValue(HSSFCell hssfCell) {
	           if (hssfCell.getCellType() == 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());
	            }
	       }

	     
	  
}

相關推薦

解決java讀取excel檔案小數點的問題

package com.hmy.ssh.myMethod; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import

java讀取excel檔案內容,並將讀取到的內容寫入到另一檔案

需要匯入的jar包下載地址https://pan.baidu.com/s/16cTpUfx0KvKkbGYkXAUKMA 程式碼:ReadExcel.java //信1605-3 20163432 張運濤 package domain; import java.io.File; im

Java 讀取Excel 檔案內容

在一個專案中,有一個需求,是把excel檔案的內容轉換為xml格式展示。在學習如何操作的過程中,首先是如何獲取excel檔案,其中操作的程式碼如下: 1.首先是匯入需要的 jar, 下載地址: 2.程式碼實現: package com.apusic; import org.apache.po

java讀取excel檔案內容

import java.io.FileInputStream; import java.io.InputStream; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List;

java讀取excel 檔案,並把讀取到的資料轉換成javabean物件

javaBean物件public class AcademicaChievements { private Integer aid; private String number; private String sname; private String award_

解決POI讀取EXCEL檔案出錯的問題

有一個專案要在J2EE後臺讀取EXCEL中的內容,調研後決定採用Apache POI來處理這一問題。 一開始先自己用Excel 2003寫了一個測試檔案,匯入POI介面時是能夠正常讀取Excel檔案的。 但後來,使用客戶提供的Excel檔案時,出現瞭如下的錯誤:    

java讀取excel檔案

package com.execl; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.A

Java讀取Excel檔案,生成SQL語句

import jxl.Sheet; import jxl.Workbook; import jxl.read.biff.BiffException; import java.io.*; public class Main { public static void

使用Java讀取Excel檔案內容

使用Java讀取Excel檔案的內容非常簡單,Apache POI這個專案已經實現了對此類文件操作的功能,我們只需學會如何使用它即可。 1.首先需要引入Apache POI,這裡推薦使用Maven的方式管理專案依賴。在pom.xml檔案中加入依賴項: &

數學建模系列- 解決Matlab讀取Excel檔案報錯:Could not start Excel server for import問題

今天在進行Matlab程式設計的時,用之前寫的程式碼在自己機子上執行失敗,報錯為Could not start Excel server for import, 十分鬱悶。於是在網上找了些資料,總算解決了問題,現在將幾種解決方法寫下來,希望能夠幫助遇到同樣

java利用poi讀取Excel檔案

java讀取Excel檔案,筆者認為:從結構上來看,Excel檔案是由一個一個的單元格組成的,有點像細胞cell,逐行的排列。那麼我們讀的時候也應該逐行逐行的讀,從左到右的尋找每一個cell。一、例項程式碼: 只是實現了一種方式,因為依照讀取內容的不同,讀取的後想要的操作不同,因此不能苟同全部,只是方法是相

Java 讀取寫入檔案亂碼問題解決

Java 讀取寫入檔案亂碼問題解決 寫檔案 讀檔案 寫檔案 File f = new File(fileName); if (!f.exists()) {

Java讀取Excel表格以及讀取數字列轉為文字的解決辦法

Java讀取Excel表格程式碼和把數字列轉為文字的解決辦法。 所需 jar 包:dom4j-1.6.1.jar ,poi-3.8-20120326.jar,poi-ooxml-3.8-20120326.jar,poi-ooxml-schemas-3.8-20120326.

java使用POI讀取excel檔案,相容xls和xlsx

public List<Double> readExcels(InputStream is)throws Exception{List<Double> xlsxList = new ArrayList<Double>();    try {             if(i

使用poi實現java讀取excel表格並存儲到資料庫中解決讀取日期格式問題(ssm框架)

本文是在搭完ssm框架之上實現的讀取excel檔案,已實現功能,如有問題可在評論區詢問使用的jar包<!-- https://mvnrepository.com/artifact/org.apache.poi/poi --><dependency>

讀取Excel檔案時出現null的解決方法

在讀取Excel檔案時常常出現讀取某些欄位為null的情況,其實是有值,原因是讀取檔案時,Excel會以第一行的資料型別為參考,如果後邊的與其不一致,則會出現些問題。 以下一個朋友的解決方案,他的Excel檔案的連線串寫作如下。據說可以強制資料為字串,具體我已測試過。僅供參考

java讀取本地檔案失敗終極解決方案FileNotFoundException等一系列相關異常解決

本篇文章主要是解決在工作或學習中遇到的無法操作本地檔案顯示資料夾路徑無效或無許可權等問題的解決  首先 上一張圖 如上圖所示 我的檔名路徑明明是正確的 但是卻顯示該檔案不存在 有的人可能檔案分隔符不

Java模組 -- 讀取Excel檔案寫入資料庫 Mybatis , POI , JXL

廢話不多說,直接上程式碼結構圖 所用到的lib包 Students 實體類 package com.test.model; public class Students { private int id; private String username; pr

java 操作 poi 解析、讀取 Excel 檔案

讀取Excel 我這裡是用的POI 的jar包 dom4j-1.6.1.jar         poi-3.10.1-20140818.jar        poi-excelant-3.10.1-20140818.jar    xmlbeans-2.6.0.jar po

解決 JAVA讀取本地ANSI檔案亂碼問題

XML解析經常因為ANSI出錯誤,如果是UTF-8就沒問題。 private static String forTest(String file) throws IOException { File f = new File(file); InputStream