哪位大神有优酷vip可以帮帮忙啊,我想用Java读取Excel的数据并做成树状图,横坐标

java读取Excel文件指定内容 - 简书
java读取Excel文件指定内容
——边学习边记录~
最近需要用到从外部文件导入测试数据,因而上网查了一些读取excel文件这方面的代码,然后修改后适用于现有场景中(得到excel中指定单元格的内容)。
导入的jar:poi-3.16.jar
官网下载地址:http://poi.apache.org/download.html
//以下是因为长数字取出来变成了科学计数法形式,所以使用DecimalFormat进行格式化为数字
DecimalFormat df = new DecimalFormat("0");
cellValue = df.format(cell.getNumericCellValue());
代码如下:package com.test.import java.io.Fimport java.io.FileInputSimport java.io.IOEimport java.io.InputSimport java.text.DecimalFimport org.apache.poi.hssf.usermodel.HSSFCimport org.apache.poi.hssf.usermodel.HSSFRimport org.apache.poi.hssf.usermodel.HSSFSimport org.apache.poi.hssf.usermodel.HSSFW/*** 读取excel文件内容* @author study_monkey**/public class ReadExcelFileInfo {private static final ReadExcelFileInfo instance = new ReadExcelFileInfo();private ReadExcelFileInfo(){//do something}//这里提供了一个供外部访问本class的静态方法,可以直接访问public static ReadExcelFileInfo getInstance(){}public String readFile(int cellIndex,int rowIndex) {String str = "";InputStream fis =try{fis = new FileInputStream(new File("testdata.xls"));//File(path)HSSFWorkbook workbook = new HSSFWorkbook(fis);str = getValue(workbook,cellIndex,rowIndex);}catch (IOException e) {e.printStackTrace();} finally {if (fis != null) {try {fis.close();} catch (IOException e) {fis =e.printStackTrace();}}}}public String getValue(HSSFWorkbook workbook,int cellIndex,int rowIndex) {//从0开始,行和列String cellValue = "";HSSFSheet sheet =
workbook.getSheetAt(0);HSSFRow row =
sheet.getRow(rowIndex);HSSFCell cell = row.getCell((short) cellIndex);DecimalFormat df = new DecimalFormat("0");if (null != cell) {// 以下是判断数据的类型,调对应的方法switch (cell.getCellType()) {case HSSFCell.CELL_TYPE_NUMERIC: // 数字// cellValue = cell.getNumericCellValue() + "";cellValue = df.format(cell.getNumericCellValue()); //长数字取出来变成了科学计数法形式,使用DecimalFormat格式化case HSSFCell.CELL_TYPE_STRING: // 字符串cellValue = cell.getStringCellValue();case HSSFCell.CELL_TYPE_BOOLEAN: // BooleancellValue = cell.getBooleanCellValue() + "";case HSSFCell.CELL_TYPE_FORMULA: // 公式cellValue = cell.getCellFormula() + "";case HSSFCell.CELL_TYPE_BLANK: // 空值cellValue = "";case HSSFCell.CELL_TYPE_ERROR: // 故障cellValue = "非法字符";default:cellValue = "未知类型";}}return cellV}public static void main(String[] args) {ReadExcelFileInfo r = new ReadExcelFileInfo();String str1 = ReadExcelFileInfo.instance.readFile(1,1);//index从0开始,获取第1行,第1列的内容String str2 = ReadExcelFileInfo.instance.readFile(1,2);System.out.println(str1);System.out.println(str2);}}
随笔记录一些平常工作中遇到的问题,以及解决的方法。
让自己少走一些弯路,也希望能帮到一些人。
喜欢记录,让自己个每天进步一点点~查看: 5021|回复: 11
[已解决]怎么获取某一列的所有数据到数组里啊,急啊
各位大神帮帮忙啊,我想把指定列的所有的数据放到数组里,急求
ligh1298发布于
比如数据在A2:A100
sub 放入数组()
arr=[a2:a100]
sub 数据放入数组()
arr=range(&a2:a& & [a65536].end(3).row)
还有Dim arr()
reDim arr(1to 100,1 to 2)等等。不知你想要哪些哟
如果是A列,直接使用A:A引用就可以了
最好是能有个附件看看
&&&本楼为最佳答案&&&
比如数据在A2:A100
sub 放入数组()
arr=[a2:a100]
sub 数据放入数组()
arr=range(&a2:a& & [a65536].end(3).row)
还有Dim arr()
reDim arr(1to 100,1 to 2)等等。不知你想要哪些哟
hongqiqqq 发表于
如果是A列,直接使用A:A引用就可以了
最好是能有个附件看看
16:16 上传
点击文件名下载附件
6.32 KB, 下载次数: 21
hwc2ycy 发表于
ligh1298 发表于
比如数据在A2:A100
sub 放入数组()
arr=[a2:a100]
16:23 上传
点击文件名下载附件
6.32 KB, 下载次数: 4
你这个附件,用以下代码就可写入。Sub 数据放入数组()
arr = Range(&a1:a& & [a65536].End(3).Row)
End Sub
复制代码调出本地窗口,按F8测试。
没人嘛?是循环所有的列
难道只能悬赏才有人吗
Powered by16:26 提问
java读取excel2013版的内容并把读取出来的内容插入到数据库中
想用java代码读取excel(2013)表格里的内容,但是excel里面有好几个sheet,还有好几个表,该怎么办,而且还要把读取出来的内容储存到数据库中去,求大神帮助
按赞数排序
public static List&String[]& readExcel(String filePath) {
List&String[]& list = new ArrayList&String[]&();
InputStream in = new FileInputStream(filePath);
Workbook book =
if (filePath.endsWith(".xls")) {
book = new HSSFWorkbook(in);
} else if (filePath.endsWith(".xlsx")) {
book = new XSSFWorkbook(in);
// HSSFWorkbook hssfWorkbook = new HSSFWorkbook(in);
// 循环工作表Sheet
for (int i = 0; i & book.getNumberOfSheets(); i++) {
Sheet sheet = book.getSheetAt(i);
if (sheet == null) {
// 循环行Row
for (int j = 1; j &= sheet.getLastRowNum(); j++) {
Row row = sheet.getRow(j);
if (row == null) {
String[] values = new String[row.getLastCellNum()];
for (int k = 0; k & row.getLastCellNum(); k++) {
Cell xh = row.getCell(k);
if (xh == null) {
values[k] = getValue(xh);
list.add(values);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
使用POI组建读excel数据,1楼的代码可以参照下
一个sheet,一个sheet的读,,然后将数据保存到数据库就完了,,
其他相似问题java从excel中读取数据用报表显示,报表怎么做啊,急
本回答由提问者推荐当使用POI处理excel的时候,遇到了比较长的数字,虽然excel里面设置该单元格是文本类型的,但是POI的cell的类型就会变成数字类型。
而且无论数字是否小数,使用cell.getNumbericCellValue() 去获取值的时候,会得到一个double,而且当长度大一点的时候会变成科学计数法形式。
那么获取这个单元格的原始的数据,就其实是一个double怎么转换成整数的问题了。
使用Format对这个double进行了格式话,随后使用format方法获得的String就是你想要的值了。
case HSSFCell.CELL_TYPE_NUMERIC:
DecimalFormat df = new DecimalFormat("0");
String strCell = df.format(cell.getNumericCellValue());}

我要回帖

更多关于 哪位大神有裸体摔跤 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信