package com.ds.action;
import java.io.FileInputStream;
import java.text.SimpleDateFormat;
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 org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.DateUtil;
import com.ds.mod.chaaracter_state;
import dao.xlsDao;
public class ssss {
private chaaracter_state cs ;
private chaaracter_state cs1;
public String readExcel(String filePath) {
try {
POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(
filePath));
// 创建工作簿
HSSFWorkbook workBook = new HSSFWorkbook(fs);
System.out.println("--------------------------------");
/**
*
* 获得Excel中工作表个数
*
*/
System.out.println("工作表个数 :" + workBook.getNumberOfSheets());
xlsDao xsl = new xlsDao();
for (int i = 0; i < workBook.getNumberOfSheets(); i++) {
HSSFSheet sheet = workBook.getSheetAt(i);
sheet.getMargin(HSSFSheet.TopMargin);
String f = sheet.getRow(0).getCell(0).toString();
Integer q = xsl.xls(f);
System.out.println("数据库返回的值为:" + q);
String fanhui = null;
int rows = sheet.getPhysicalNumberOfRows(); // 获得行数
if (rows > 0) {
sheet.getMargin(HSSFSheet.TopMargin);
for (int r = 0; r < rows; r++) { // 行循环
HSSFRow row = sheet.getRow(r + 2); // 得到每行
if (row != null) {
int cells = row.getLastCellNum();// 获得列数
System.out.println("cells:"+cells);
if (q != cells) {
System.out.println("进入if:" + "第" + r + "行");
fanhui = " 第 " + r + "行";
}
}
}
}
if (fanhui != null) {
return fanhui;
} else {
System.out.println("进入slse");
if (rows > 0) {
sheet.getMargin(HSSFSheet.TopMargin);
for (int r = 0; r < rows; r++) { // 行循环
List<String> xlssj=new ArrayList<String>();
HSSFRow row = sheet.getRow(r + 2); // 得到每行
System.out.println("得到行数");
if (row != null) {
int cells = row.getLastCellNum();// 获得列数
System.out.println("得到列数");
for (short c = 0; c < cells; c++) { // 列循环
xlssj.add(getValue(row.getCell(c)).toString());
}
}
int z=0;
cs= new chaaracter_state();
cs.setChaaracter_name((String)xlssj.get(++z)); //名字
cs.setChaaracter_model(Integer.parseInt(xlssj.get(++z))); //形象
cs.setChaaracter_mind(Integer.parseInt(xlssj.get(++z))); //心情
cs.setChaaracter_popularity(Integer.parseInt(xlssj.get(++z))); //人气
cs.setChaaracter_good(Integer.parseInt(xlssj.get(++z))); //幸运
System.out.println("执行之前");
cs1=xsl.create(cs);
}
}
}
}
} catch (Exception ex) {
ex.printStackTrace();
return "异常";
}
System.out.println("执行这里");
return "成功";
}
public String getValue(HSSFCell cell) {
System.out.println("___________________________________________");
String value = "";
switch (cell.getCellType()) {
case Cell.CELL_TYPE_STRING:
value = cell.getRichStringCellValue().getString();
System.out.println(cell.getRichStringCellValue().getString());
System.out.println("执行跳出之前");
break;
case Cell.CELL_TYPE_NUMERIC:
if (DateUtil.isCellDateFormatted(cell)) {
System.out.println(cell.getDateCellValue());
java.util.Date date = cell.getDateCellValue();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
value = format.format(date);
} else {
System.out.println(cell.getNumericCellValue());
value = String.valueOf((int) Math.floor(cell.getNumericCellValue()));
System.out.println("value="+value);
System.out.println("Cell.CELL_TYPE_NUMERIC");
}
break;
/* 此行表示该单元格值为空 */
case HSSFCell.CELL_TYPE_BLANK: // 空值
value = "";
break;
case Cell.CELL_TYPE_BOOLEAN:
System.out.println(cell.getBooleanCellValue());
value = " " + cell.getBooleanCellValue();
System.out.println("Cell.CELL_TYPE_BOOLEAN");
break;
case Cell.CELL_TYPE_FORMULA:
System.out.println(cell.getCellFormula());
value = cell.getCellFormula();
System.out.println("Cell.CELL_TYPE_FORMULA");
break;
default:
System.out.println();
}
System.out.println("执行跳出之前"+value);
return value;
}
// public static void main(String args[]) {
// double q=1.0;
// int a=(int)Math.floor(q);
// System.out.println("a:"+a);
// }
}
import java.io.FileInputStream;
import java.text.SimpleDateFormat;
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 org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.DateUtil;
import com.ds.mod.chaaracter_state;
import dao.xlsDao;
public class ssss {
private chaaracter_state cs ;
private chaaracter_state cs1;
public String readExcel(String filePath) {
try {
POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(
filePath));
// 创建工作簿
HSSFWorkbook workBook = new HSSFWorkbook(fs);
System.out.println("--------------------------------");
/**
*
* 获得Excel中工作表个数
*
*/
System.out.println("工作表个数 :" + workBook.getNumberOfSheets());
xlsDao xsl = new xlsDao();
for (int i = 0; i < workBook.getNumberOfSheets(); i++) {
HSSFSheet sheet = workBook.getSheetAt(i);
sheet.getMargin(HSSFSheet.TopMargin);
String f = sheet.getRow(0).getCell(0).toString();
Integer q = xsl.xls(f);
System.out.println("数据库返回的值为:" + q);
String fanhui = null;
int rows = sheet.getPhysicalNumberOfRows(); // 获得行数
if (rows > 0) {
sheet.getMargin(HSSFSheet.TopMargin);
for (int r = 0; r < rows; r++) { // 行循环
HSSFRow row = sheet.getRow(r + 2); // 得到每行
if (row != null) {
int cells = row.getLastCellNum();// 获得列数
System.out.println("cells:"+cells);
if (q != cells) {
System.out.println("进入if:" + "第" + r + "行");
fanhui = " 第 " + r + "行";
}
}
}
}
if (fanhui != null) {
return fanhui;
} else {
System.out.println("进入slse");
if (rows > 0) {
sheet.getMargin(HSSFSheet.TopMargin);
for (int r = 0; r < rows; r++) { // 行循环
List<String> xlssj=new ArrayList<String>();
HSSFRow row = sheet.getRow(r + 2); // 得到每行
System.out.println("得到行数");
if (row != null) {
int cells = row.getLastCellNum();// 获得列数
System.out.println("得到列数");
for (short c = 0; c < cells; c++) { // 列循环
xlssj.add(getValue(row.getCell(c)).toString());
}
}
int z=0;
cs= new chaaracter_state();
cs.setChaaracter_name((String)xlssj.get(++z)); //名字
cs.setChaaracter_model(Integer.parseInt(xlssj.get(++z))); //形象
cs.setChaaracter_mind(Integer.parseInt(xlssj.get(++z))); //心情
cs.setChaaracter_popularity(Integer.parseInt(xlssj.get(++z))); //人气
cs.setChaaracter_good(Integer.parseInt(xlssj.get(++z))); //幸运
System.out.println("执行之前");
cs1=xsl.create(cs);
}
}
}
}
} catch (Exception ex) {
ex.printStackTrace();
return "异常";
}
System.out.println("执行这里");
return "成功";
}
public String getValue(HSSFCell cell) {
System.out.println("___________________________________________");
String value = "";
switch (cell.getCellType()) {
case Cell.CELL_TYPE_STRING:
value = cell.getRichStringCellValue().getString();
System.out.println(cell.getRichStringCellValue().getString());
System.out.println("执行跳出之前");
break;
case Cell.CELL_TYPE_NUMERIC:
if (DateUtil.isCellDateFormatted(cell)) {
System.out.println(cell.getDateCellValue());
java.util.Date date = cell.getDateCellValue();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
value = format.format(date);
} else {
System.out.println(cell.getNumericCellValue());
value = String.valueOf((int) Math.floor(cell.getNumericCellValue()));
System.out.println("value="+value);
System.out.println("Cell.CELL_TYPE_NUMERIC");
}
break;
/* 此行表示该单元格值为空 */
case HSSFCell.CELL_TYPE_BLANK: // 空值
value = "";
break;
case Cell.CELL_TYPE_BOOLEAN:
System.out.println(cell.getBooleanCellValue());
value = " " + cell.getBooleanCellValue();
System.out.println("Cell.CELL_TYPE_BOOLEAN");
break;
case Cell.CELL_TYPE_FORMULA:
System.out.println(cell.getCellFormula());
value = cell.getCellFormula();
System.out.println("Cell.CELL_TYPE_FORMULA");
break;
default:
System.out.println();
}
System.out.println("执行跳出之前"+value);
return value;
}
// public static void main(String args[]) {
// double q=1.0;
// int a=(int)Math.floor(q);
// System.out.println("a:"+a);
// }
}