apache poi组件获取Excel内容的问题!

幻想雨季 2009-07-29 04:48:04
现在使用apache的poi组件版本是3.2
想获取Excel中某个Sheet包含的数据有效性的输入信息,如何获取?

(该版本有个方法getDVRecords() 返回list,应该是返回设置的内容,但我测试已经设置了数据有效性的Excel的时候获取数组为空)
...全文
347 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
jackHanQi 2009-11-05
  • 打赏
  • 举报
回复
学习一下……
幻想雨季 2009-11-05
  • 打赏
  • 举报
回复
感谢大家的回复,内容很全,但是仍然没有我想要的设置。
public void setValidation(HSSFSheet sheet,String title,String content,boolean isShow,int rowno,int colno) {
DVConstraint constraint=DVConstraint.createNumericConstraint(DVConstraint.ValidationType.ANY,DVConstraint.OperatorType.BETWEEN, null, null);
//设置数据有效性位置
CellRangeAddressList regions=new CellRangeAddressList(rowno,rowno,colno,colno);
//创建验证对象
HSSFDataValidation data_validation = new HSSFDataValidation(regions, constraint);
//添加提示标题和内容
data_validation.createPromptBox(title,content);
//设置是否显示
data_validation.setShowPromptBox(isShow);
//添加到工作表中
sheet.addValidationData(data_validation);
}
可以设置某个单元格的数据有效性信息,title和content,但是不知道如何取出。
youjianbo_han_87 2009-11-04
  • 打赏
  • 举报
回复
POI有那么强大吗?
老张-AI 2009-11-04
  • 打赏
  • 举报
回复
http://www.java2000.net/p1681使用POI输出Excel文件

http://www.java2000.net/p1682POI操作Excel文档-基础篇

http://www.java2000.net/p1683POI操作Excel文档-中级篇


去看吧
幻想雨季 2009-11-04
  • 打赏
  • 举报
回复
apache的poi组件已更新到3.5了,还是没找到如何获取sheet包含的HSSFDataValidation方法。
由于需要,想对每个单元格存储一些相应的信息,这样,在操作Excel单元格的时候(主要是移动),
能判断出该单元格所附加的信息,这个信息不能用批注的形式写入,所以想到用设置数据有效性信息的方法来保存部分隐藏信息,通过程序可以将该信息写入
方法:addValidationData(HSSFDataValidation dataValidation)
但是取不到写入的信息,哪位大侠有更好的方法,请赐教。
shype 2009-10-26
  • 打赏
  • 举报
回复
//绑定下拉框和作用区域 .并添加输入内容提示
HSSFDataValidation data_validation = new HSSFDataValidation(regions,
constraint);
data_validation.createPromptBox("tip","select");

这是我的。。已经实现
「已注销」 2009-10-26
  • 打赏
  • 举报
回复

POIFSFileSystem fs = null;
HSSFWorkbook wb = null;
try {
fs = new POIFSFileSystem(new FileInputStream(FileSavePath + Newfilename));
wb = new HSSFWorkbook(fs);
} catch (IOException e) {
out.println("<script langugage=javascript>alert('无效的Excel文件!');window.history.go(-1);</script>");
return;
}
// 第一个工作表,Sheet1
HSSFSheet sheet = wb.getSheetAt(0);
HSSFRow row = null;
HSSFCell cell = null;

// Excel 中第一个名字的单元格
String name = "";
int rowNum;
int i;
rowNum = sheet.getLastRowNum(); // Excel 中的记录行数
for (i = 0; i <= rowNum; i++) {
row = sheet.getRow(i);
// 判断 Excel 文件 为空
if (row == null) {
out.println("<script langugage=javascript>alert(' Excel 文件 为空 !');window.history.go(-1);</script>");
return;
}
cell = row.getCell((short) 0);
if (cell == null || cell.getStringCellValue().trim() == "") {
out.println("<script langugage=javascript>alert('名字不能为空!');window.history.go(-1);</script>");
return;
} else {
name = cell.getStringCellValue().trim();
}
youbin_ 2009-10-26
  • 打赏
  • 举报
回复
读取单元格的内容对不同的数据类型有不同的方法,如公式单元格,最麻烦的就是数字和日期时间不能区别,头都会搞大,如果只是普通的字符串类型就好办多了。
try {
switch (cell.getCellType()) {
case HSSFCell.CELL_TYPE_FORMULA:
HSSFFormulaEvaluator evaluator = new HSSFFormulaEvaluator(wb);
if (logger.isDebugEnabled()) {
logger.debug("公式内容:" + cell + "值:" + evaluator.evaluateFormulaCell(cell));
}
value = String.valueOf(cell.getNumericCellValue());
break;
case HSSFCell.CELL_TYPE_NUMERIC:
value = String.valueOf(cell.getNumericCellValue());
break;
case HSSFCell.CELL_TYPE_STRING:
case HSSFCell.CELL_TYPE_BLANK:
value = String.valueOf(cell);
break;
default:
value = cell.getRichStringCellValue().getString();
}
wgj830823 2009-10-26
  • 打赏
  • 举报
回复
不明白什么是“数据有效性的输入信息”,能否解释一下。
要是只是获取一下excel的内容应该很简单,根据行列就可以直接取到了啊。

[Quote=引用楼主 xxx_cy 的回复:]
现在使用apache的poi组件版本是3.2
想获取Excel中某个Sheet包含的数据有效性的输入信息,如何获取?

(该版本有个方法getDVRecords() 返回list,应该是返回设置的内容,但我测试已经设置了数据有效性的Excel的时候获取数组为空)
[/Quote]
swandragon 2009-10-26
  • 打赏
  • 举报
回复
没明白要完成什么样的功能
帮顶
zi_0_feng 2009-08-10
  • 打赏
  • 举报
回复
刚学 只知道如何用它导出EXCEL
幻想雨季 2009-08-10
  • 打赏
  • 举报
回复
我顶!
老张-AI 2009-08-01
  • 打赏
  • 举报
回复
没用过帮顶
幻想雨季 2009-08-01
  • 打赏
  • 举报
回复
自己顶!
幻想雨季 2009-07-31
  • 打赏
  • 举报
回复
看来用这个的人比较少啊!
lk198186 2009-07-30
  • 打赏
  • 举报
回复
以前经常用,现在搞C/S系统了,都忘光了,楼主可以在网上找找
幻想雨季 2009-07-30
  • 打赏
  • 举报
回复
这个没人用过么?
zabaglione 2009-07-30
  • 打赏
  • 举报
回复
应该有很多帮助文档吧。
bolink5 2009-07-29
  • 打赏
  • 举报
回复
还只是做了怎么生成excel还没做到怎么解析excel
帮顶下吧
加载更多回复(1)

81,114

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧