返回目录:excel表格制作
//设置超链接就可以了,可以参考下面的代码
//如何设置超链接
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);
//链接到当前路径的一个7a64e4b893e5b19e334文件
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();
我感觉你也可以在后端计算出结果传递到前端拼接出来呀
http://java.ccidnet.com/art/3737/20030321/479599_1.html
代码:
HSSFWorkbook wb = new HSSFWorkbook();HSSFSheet sheet = wb.createSheet();ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();BufferedImage bufferImg = ImageIO.read(new File("D:\\fruit.PNG"));ImageIO.write(bufferImg,"PNG",byteArrayOut);HSSFClientAnchor anchor = new HSSFClientAnchor(5,0,500,122,(short) 0, 5,(short)10,15); HSSFPatriarch patri = sheet.createDrawingPatriarch();patri.createPicture(anchor , wb.addPicture(byteArrayOut.toByteArray(), HSSFWorkbook.PICTURE_TYPE_PNG)); ByteArrayOutputStream outStream = new ByteArrayOutputStream();wb.write(outStream);
上面代码只是大概,但需要用到的类都已经列出。接下来需要做的就是把 outStream输出到excel文件中去了。
具体的类的document可以去下面网站上查看:
http://jakarta.apache.org/poi/apidocs/org/apache/poi/hssf/usermodel/HSSFWorkbook.html
补充......
http://deepfuture.javaeye.com/blog/615081
java poi-读写word、excel
package zl.file;
import java.io.ByteArrayInputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hwpf.extractor.WordExtractor;
import org.apache.poi.poifs.filesystem.DirectoryEntry;
import org.apache.poi.poifs.filesystem.DocumentEntry;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
// code run against the jakarta-poi-1.5.0-FINAL-20020506.jar.
public class MyExcel {
static public void main(String[] args) throws Exception {
//--e799bee5baa6e79fa5e98193e58685e5aeb9339----------在xls中写入数据
FileOutputStream fos = new FileOutputStream("e:\\text.xls");
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet s = wb.createSheet();
wb.setSheetName(0, "first sheet");
HSSFRow row = s.createRow(0);
HSSFCell cell = row.createCell((short)0,0);
HSSFRichTextString hts=new HSSFRichTextString("nihao");
cell.setCellValue(hts);
wb.write(fos);
fos.flush();
fos.close();
//------------从xls读出数据
wb = new HSSFWorkbook(new FileInputStream("e:\\text.xls"));
s = wb.getSheetAt(0);
HSSFRow r = s.getRow(0);
cell=r.getCell((short)0);
if(cell.getCellType() == HSSFCell.CELL_TYPE_STRING){
System.out.println(cell.getRichStringCellValue());
}
//------------从doc读出数据
FileInputStream in = new FileInputStream("e:\\text.doc");
WordExtractor extractor = new WordExtractor(in);
String text =extractor.getText();
// 对DOC文件进行提取
System.out.println(text);
in.close();
//------------------在doc中写入
byte[] a=new String("看见了!").getBytes();
ByteArrayInputStream bs = new ByteArrayInputStream(a);
POIFSFileSystem fs = new POIFSFileSystem();
///////////////////////////////////
DirectoryEntry directory = fs.getRoot();
DocumentEntry de = directory.createDocument("WordDocument", bs);
//以上两句代码不能省略,否则输出的是乱码
fos = new FileOutputStream("e:\\text.doc");
fs.writeFilesystem(fos);
bs.close();
fos.flush();
fos.close();
}
}
楼上不知道就不要乱回答,答非所问网页链接建议楼主多看看api文档试试