首先先根据sheet找到行
row = sheetgetRow(rowIndex);
然后找
cell = rowgetCell(1);
这样就去到当前的B1了,
cellgetStringCellValue()
就能取到当前的单元格的value
responsesetContentType("application/vndms-excel;charset=utf-8");
String
realPath
=
getServletContext()getRealPath("/");//
获取项目绝对路径
FileInputStream
myxls
=
new
FileInputStream(realPath
+
"gkxlt");
POIFSFileSystem
fs
=
new
POIFSFileSystem(myxls);
HSSFWorkbook
wb
=
new
HSSFWorkbook(fs);
//
FileOutputStream
out
=
new
FileOutputStream("d:/excel/国库附件xls");
HSSFSheet
sheet
=
wbgetSheetAt(3);
//
获得第三个工作薄(2008工作薄)
//
填充上面的表格,数据需要从数据库查询
HSSFRow
row5
=
sheetgetRow(4);
//
获得工作薄的第五行
HSSFCell
cell54
=
row5getCell(3);//
获得第五行的第四个单元格
cell54setCellValue("测试纳税人名称");//
给单元格赋值
程序中打印出的i就是的索引位置
if(pTablehasPicture(cr)){
//获取路径
picpath=thisreadPicture(pTable, cr);
Systemoutprintln("索引"+i);
currentChar=crtext()charAt(0);
tempString+=picpath+"<br/>";
}else {
如果你使用的是POI那么就是下面的方法
//根据传过来的文件名创建workbook
HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream(file));
//获得excel文件的sheet数量
int sn = wbgetNumberOfSheets();
//依次处理sheet表单
for (int i = 0; i < sn; i++) {
HSSFSheet sheet = wbgetSheetAt(i);
//获得第i张表单的所有行数
for (int j = 0; j < sheetgetLastRowNum(); j++) {
//获得第j行
HSSFRow row = sheetgetRow(j);
//获得该行的cell数量
for (int k = 0; k < rowgetLastCellNum(); k++) {
//☆☆根据cell号获得cell的所有属性☆☆
HSSFCell cell = rowgetCell((short) k);
//然后你就得到值啦
Systemoutprintln(cellgetRichStringCellValue());
当然也可以通过匹配值得到地址
1、插件申请接入:
在腾讯公众平台中, “微信小程序官方后台-设置-第三方服务-插件管理” 里点击 “添加插件”,搜索 “腾讯位置服务地图选点” 申请,审核通过后,小程序开发者可在小程序内使用该插件。
2、引入插件包: 地图选点appId: wx76a9a06e5b4e693e (点击浏览插件最新版本)
3、设置定位授权:
地图选点插件需要小程序提供定位授权才能够正常使用定位功能:
4、使用插件:
插件页面调用示例:
5、插件返回数据
POI信息并非普通的信息,有空间属性,由于它的采集成本较高,一般的服务网站都是不公开的。所以没有办法采集。
POI是“Point of Interest”的缩写,中文可以翻译为“兴趣点”。在地理信息系统中,一个POI可以是一栋房子、一个商铺、一个邮筒、一个公交站等。
结构:
HSSF - 提供读写Microsoft Excel格式档案的功能。
XSSF - 提供读写Microsoft Excel OOXML格式档案的功能。
HWPF - 提供读写Microsoft Word格式档案的功能。
HSLF - 提供读写Microsoft PowerPoint格式档案的功能。
HDGF - 提供读写Microsoft Visio格式档案的功能。
下面的代码是向Excel中插入多张的例子:
public static void main(String[] args) {
FileOutputStream fileOut = null;
BufferedImage bufferImg = null;
BufferedImage bufferImg1 = null;
try {
// 先把读进来的放到一个ByteArrayOutputStream中,以便产生ByteArray
// 读入1
ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();
bufferImg = ImageIOread(new File("d://test11jpg"));
ImageIOwrite(bufferImg, "jpg", byteArrayOut);
// 读入2
ByteArrayOutputStream byteArrayOut1 = new ByteArrayOutputStream();
bufferImg1 = ImageIOread(new File("d://test22png"));
ImageIOwrite(bufferImg1, "png", byteArrayOut1);
// 创建一个工作薄
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet1 = wbcreateSheet("test picture");
HSSFPatriarch patriarch = sheet1createDrawingPatriarch();
HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 255, 255,
(short) 1, 1, (short) 5, 5);
anchorsetAnchorType(3);
HSSFClientAnchor anchor1 = new HSSFClientAnchor(0, 0, 255, 255,
(short) 6, 6, (short) 10, 10);
anchor1setAnchorType(3);
// 插入1
patriarchcreatePicture(anchor, wbaddPicture(byteArrayOut
toByteArray(), HSSFWorkbookPICTURE_TYPE_JPEG));
// 插入2
patriarchcreatePicture(anchor1, wbaddPicture(byteArrayOut1
toByteArray(), HSSFWorkbookPICTURE_TYPE_PNG));
fileOut = new FileOutputStream("d:/workbookxls");
// 写入excel文件
wbwrite(fileOut);
fileOutclose();
} catch (IOException io) {
ioprintStackTrace();
Systemoutprintln("erorr : " + iogetMessage());
} finally {
if (fileOut != null) {
try {
fileOutclose();
} catch (IOException e) {
eprintStackTrace();
}
}
}
}
这样执行后的效果如下:(完全按照HSSFClientAnchor设置的参数显示)
这边的效果没有保持原来的倍率,有点失真了,是因为HSSFClientAnchor(0, 0, 255, 255, (short) 1, 1, (short) 5, 5); 这个构造函数的原因。
HSSFClientAnchor构造函数参数的意义如下:
@param dx1 the x coordinate within the first cell
@param dy1 the y coordinate within the first cell
@param dx2 the x coordinate within the second cell
@param dy2 the y coordinate within the second cell
@param col1 the column (0 based) of the first cell
@param row1 the row (0 based) of the first cell
@param col2 the column (0 based) of the second cell
@param row2 the row (0 based) of the second cell
其中dx1,dy1这个点是定义在开始cell中的起始位置。这个点是开始cell的左上为原点,相对比率来确定的。不是绝对坐标。
dx2,dy2这个点是定义在终了cell的终了位置。这个点是终了cell的左上为原点,相对比率来确定的。不是绝对坐标。
col1,row1是定义开始cell。
col2,row2是定义终了cell。
如果我们想要保持原始的大小,改一下上面代码中的下面部分就可以了。
修改前:patriarchcreatePicture(anchor, wbaddPicture(byteArrayOuttoByteArray(), HSSFWorkbookPICTURE_TYPE_JPEG));
修改后:patriarchcreatePicture(anchor, wbaddPicture(byteArrayOut
toByteArray(), HSSFWorkbookPICTURE_TYPE_JPEG))resize(1);
修改后效果如下:
其中resize是放大或缩小的函数。用了这个函数后,HSSFClientAnchor构造函数中的显示的终了cell位置就不起作用了。
PS:抠门货,一点财富值都不舍得掏啊。。。。鄙视你。
以上就是关于java用POI *** 作Excel时当遍历单元格时如何获取当前单元个的具体坐标全部的内容,包括:java用POI *** 作Excel时当遍历单元格时如何获取当前单元个的具体坐标、java poi 如何获取获得excel的总的行数和列数、poi读取word文档,如何获取图片的位置等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)