Java 中 Excel添加word.doc附件 怎么写?求大神指点
不是很理解什么意思,意思是在Excel中指定单元格放入word.doc的路径,并作为超链接,还是说把word,doc中的内容写到excel中的某个单元格里面
这两个感觉都不符合要求,能再仔细点说明吗
您指的是将word文档作为OLE对象插入到excel工作表里嘛?这样的话推荐[ Spire.XLS for JAVA | 下载 创建、编辑、转换和打印 Office:Excel (xls,xlsx), Word (doc,docx), PowerPoint, PDF 及 Barcode https://www.e-iceblue.cn/Downloads/Spire-XLS-JAVA.html%5D (Spire.XLS for Java)第三方控件。相关代码示例可参考如下:
```java
import com.spire.xls.*;
import com.spire.xls.core.IOleObject;
import com.spire.doc.*;
import com.spire.doc.documents.ImageType;
import java.awt.image.BufferedImage;
public class insertOLEObjects {
public static void main(String[] args) {
String docFile = "Sample.docx";
String outputFile = "output/insertOLEObjects_result.xlsx";
//加载Excel文档
Workbook workbook = new Workbook();
workbook.loadFromFile("Sample.xlsx");
//获取第一张工作表
Worksheet worksheet = workbook.getWorksheets().get(0);
//生成图片
BufferedImage image = GenerateImage(docFile);
//插入OLE对象
IOleObject oleObject = worksheet.getOleObjects().add(docFile, image, OleLinkType.Embed);
oleObject.setLocation(worksheet.getCellRange("B4"));
oleObject.setObjectType(OleObjectType.ExcelWorksheet);
//保持文档
workbook.saveToFile(outputFile, ExcelVersion.Version2010);
}
private static BufferedImage GenerateImage(String fileName) {
//加载Word文档
Document document = new Document();
document.loadFromFile(fileName);
//将Word文档的第一页保存为图片
BufferedImage image = document.saveToImages(0, ImageType.Bitmap);
return image;
}
}
```