1. 用java如何取得EXCEL 中指定的幾行的數據
可以使用poi來解析excel:
//獲取指定行,索引從0開始
hssfRow=hssfSheet.getRow(1);
//獲取總行數,獲取的是最後一行的編號(編號從0開始)
int rowNum = sheet.getLastRowNum();
然後拿到excel對象循環解析從50開始到100即可。
2. 用javaPOI包的方法獲取excel中的行列號
XlsMain .java 類
//該類有main方法,主要負責運行程序,同時該類中也包含了用poi讀取Excel(2003版)
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;
/**
*
* @author Hongten</br>
*
* 參考地址:http://hao0610.iteye.com/blog/1160678
*
*/
public class XlsMain {
public static void main(String[] args) throws IOException {
XlsMain xlsMain = new XlsMain();
XlsDto xls = null;
List<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.getCj());
}
}
/**
* 讀取xls文件內容
*
* @return List<XlsDto>對象
* @throws IOException
* 輸入/輸出(i/o)異常
*/
private List<XlsDto> readXls() throws IOException {
InputStream is = new FileInputStream("pldrxkxxmb.xls");
HSSFWorkbook hssfWorkbook = new HSSFWorkbook(is);
XlsDto xlsDto = null;
List<XlsDto> list = new ArrayList<XlsDto>();
// 循環工作表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) {
continue;
}
xlsDto = new XlsDto();
// 循環列Cell
// 0學號 1姓名 2學院 3課程名 4 成績
// for (int cellNum = 0; cellNum <=4; cellNum++) {
HSSFCell xh = hssfRow.getCell(0);
if (xh == null) {
continue;
}
xlsDto.setXh(getValue(xh));
HSSFCell xm = hssfRow.getCell(1);
if (xm == null) {
continue;
}
xlsDto.setXm(getValue(xm));
HSSFCell yxsmc = hssfRow.getCell(2);
if (yxsmc == null) {
continue;
}
xlsDto.setYxsmc(getValue(yxsmc));
HSSFCell kcm = hssfRow.getCell(3);
if (kcm == null) {
continue;
}
xlsDto.setKcm(getValue(kcm));
HSSFCell cj = hssfRow.getCell(4);
if (cj == null) {
continue;
}
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.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());
}
}
}
3. java poi 如何獲取獲得excel的總的行數和列數
response.setContentType("application/vnd.ms-excel;charset=utf-8");
String
realPath
=
getServletContext().getRealPath("/");//
獲取項目絕對路徑
FileInputStream
myxls
=
new
FileInputStream(realPath
+
"gk.xlt");
POIFSFileSystem
fs
=
new
POIFSFileSystem(myxls);
HSSFWorkbook
wb
=
new
HSSFWorkbook(fs);
//
FileOutputStream
out
=
new
FileOutputStream("d:/excel/國庫附件.xls");
HSSFSheet
sheet
=
wb.getSheetAt(3);
//
獲得第三個工作薄(2008工作薄)
//
填充上面的表格,數據需要從資料庫查詢
HSSFRow
row5
=
sheet.getRow(4);
//
獲得工作薄的第五行
HSSFCell
cell54
=
row5.getCell(3);//
獲得第五行的第四個單元格
cell54.setCellValue("測試納稅人名稱");//
給單元格賦值
4. java中poi怎麼獲取指定列的行數
讀取excel中的數據,先載入好excel表,然後逐行逐列讀取即可。
對於上面的行數不一樣,其實行數是一樣的,只是下面兩行的C列數據為空而已,代碼中加上判斷即可。
示例代碼如下:
for(int rowIndex=0;rowIndex<sheet.getPhysicalNumberOfRows();rowIndex++)
{
Row row = sheet.getRow(rowIndex);
if(row == null) continue;
for(int cellIndex=0;cellIndex<row.getPhysicalNumberOfCells();cellIndex++)
{
Cell content = row.getCell(cellIndex);
if(content== null) continue; //判斷空
//對於內容進行操作
....
}
}
有問題歡迎提問,滿意請採納,謝謝!
5. java execel中怎麼獲取總行數
org.apache.poi.ss.usermodel.Sheet;
sheet.getLastRowNum()這個方法是獲得最後的行號,這個可以當做總行數
6. java中使用POI如何獲得EXCEL中的一行數據
static public void main(String[] args){
try {
FileInputStream fis = new FileInputStream("d:\\aa.xls");
HSSFWorkbook wb = new HSSFWorkbook(fis);
HSSFSheet s = wb.getSheet("Sheet1");
HSSFRow row=s.getRow(0);
HSSFCell cell=row.getCell((short) 0);
System.out.println(cell.getStringCellValue());
fis.close();
} catch (Exception e) {
e.printStackTrace();
}
}
7. java讀取excel時Workbook.getWorkbook(excelFile).getSheets()[i].getRows()的行數問題
多加幾行試試結果是顯示多少行。找個規律想想。代碼不是寫出來的,是調試出來的。祝你好運
8. JAVA中如何取得EXCEL中確定已知的單元格所包含的行數.
需要apache的poi包
BufferedInputStream in = new BufferedInputStream(new FileInputStream(file));
POIFSFileSystem fs = new POIFSFileSystem(in);
HSSFWorkbook wb = new HSSFWorkbook(fs);
wb.getNumberOfSheets()//獲得excel中sheet的個數
HSSFSheet st = wb.getSheetAt(0);//取得第一個sheet
st.getLastRowNum()//這個就能取得第一個sheet中一共多少行