返回目录:excel表格制作
100%地抄的?
没必要使用POI了,当二进制文件抄
试试免费版free Spire.XLS for Java的批注读取方法:
import com.spire.xls.*;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
public class ExtractComment {
public static void main(String[] args)throws IOException {
//加载excel文档
Workbook wb = new Workbook();
wb.loadFromFile("AddComments.xlsx");
//获取工作表
Worksheet sheet = wb.getWorksheets().get(0);
//打印指定单元格e69da5e6ba907a686964616f337的文本批注内容
System.out.println("H2 的批注文本 = " + sheet.getCellRange("H2").getComment().getText());
System.out.println("F2 的批注文本 = " + sheet.getCellRange("F2").getComment().getRichText().getRtfText());
//获取指定单元格中批注背景颜色
Color color = sheet.getRange().get("H2").getComment().getFill().getForeColor();
System.out.print(color);
//获取指定单元格中的批注背景图片
/*BufferedImage image = sheet.getRange().get("H2").getComment().getFill().getPicture();
ImageIO.write(image,"png",new File("ExtractedImages.png"));*/
}
}
参考代码如e68a84e799bee5baa6e997aee7ad94334下:
try {
InputStream input = new FileInputStream("qa-textbox.xls");
POIFSFileSystem fs = new POIFSFileSystem(input);
HSSFWorkbook wb = new HSSFWorkbook(fs);
HSSFSheet sheet = wb.getSheetAt(0);
HSSFPatriarch pat = sheet.getDrawingPatriarch();
List children = pat.getChildren();
Iterator it = children.iterator();
while(it.hasNext()) {
HSSFShape shape = (HSSFShape)it.next();
if (shape instanceof HSSFTextbox){ //判断文本框
HSSFTextbox textbox = (HSSFTextbox)shape;//强转成textbox类型
HSSFRichTextString richString = textbox.getString(); //取值。。
String str = richString.getString();
System.out.println("String: " + str);
System.out.println("String length: " + str.length());
}
}
} catch (IOException ex) {
ex.printStackTrace();
}