作者:乔山办公网日期:
返回目录:excel表格制作
自己研究一下,下面函数
INDIRECT 可以用这zhidao个写一个可变公式
HYPERLINK 可以用这个实现公式超回链接
=CELL("filename",A1) 可以取得工作表完整路径
再配合一些提取函数就实现你要的了,比如MID,find等。
不过写起来挺累人的,要根据表格答自己调试,哈
一般在单元格引用复时用到它们
1相对引用(A1或B2)
复制制公式时,单元格引用会随公式位置百的更改而更改
2绝对引用($A$1a或$B$2)
复制公式时,单元格引用不会随公式位度置的更改而更改
3混合引用($A1或B$2)
相对引知用和绝对引用的混合,多用于做九九乘法表。
按F4键可道相互切换
如何读取超链e799bee5baa6e997aee7ad94e78988e69d83364接
HSSFSheet sheet = workbook.getSheetAt(0);
HSSFCell cell = sheet.getRow(0).getCell((short)0);
HSSFHyperlink link = cell.getHyperlink();
if(link != null){
System.out.println(link.getAddress());
}
如何设置超链接
HSSFWorkbook wb = new HSSFWorkbook();
//超链接的单元格风格
//超链接默认的是蓝色底边框
HSSFCellStyle hlink_style = wb.createCellStyle();
HSSFFont hlink_font = wb.createFont();
hlink_font.setUnderline(HSSFFont.U_SINGLE);
hlink_font.setColor(HSSFColor.BLUE.index);
hlink_style.setFont(hlink_font);
HSSFCell cell;
HSSFSheet sheet = wb.createSheet("Hyperlinks");
//URL
cell = sheet.createRow(0).createCell((short)0);
cell.setCellValue("URL Link");
HSSFHyperlink link = new HSSFHyperlink(HSSFHyperlink.LINK_URL);
link.setAddress("");
cell.setHyperlink(link);
cell.setCellStyle(hlink_style);
//链接到当前路径的一个文件
cell = sheet.createRow(1).createCell((short)0);
cell.setCellValue("File Link");
link = new HSSFHyperlink(HSSFHyperlink.LINK_FILE);
link.setAddress("link1.xls");
cell.setHyperlink(link);
cell.setCellStyle(hlink_style);
//链接到e-mail
cell = sheet.createRow(2).createCell((short)0);
cell.setCellValue("Email Link");
link = new HSSFHyperlink(HSSFHyperlink.LINK_EMAIL);
//note, if subject contains white spaces, make sure they are url-encoded
link.setAddress("mailto:?subject=Hyperlinks");
cell.setHyperlink(link);
cell.setCellStyle(hlink_style);
//链接到 workbook的某个地方
//创建一个目标Sheet和单元格
HSSFSheet sheet2 = wb.createSheet("Target Sheet");
sheet2.createRow(0).createCell((short)0).setCellValue("Target Cell");
cell = sheet.createRow(3).createCell((short)0);
cell.setCellValue("Worksheet Link");
link = new HSSFHyperlink(HSSFHyperlink.LINK_DOCUMENT);
link.setAddress("'Target Sheet'!A1");
cell.setHyperlink(link);
cell.setCellStyle(hlink_style);
FileOutputStream out = new FileOutputStream("c://hssf-links.xls");
wb.write(out);
out.close();
你指的是相对路径吗?如果是的话,可以用../表示当前目录的上一层目录, ../../表示更上一层目录。比如本文件夹为aa,上一层文件夹为a,如果想链接到a文件夹中的b文件,可以表示为 ../b.xls