cs
复制代码
static void Main(string[] args)
{
XlsWithObjData();
Console.WriteLine("输出完成");
}
static void XlsWithObjData()
{
// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = (HSSFSheet)workbook.CreateSheet("Sheet1");
IRow row = sheet.CreateRow(0);
ICell cell = row.CreateCell(0);
// 读取ZIP文件为字节数组
byte[] zipData = File.ReadAllBytes("001.pdf");
var imgData = File.ReadAllBytes("001.png");
var iconid = workbook.AddPicture(imgData, PictureType.PNG);
var pdfIdx = workbook.AddOlePackage(zipData, "222.pdf", "333.pdf", "111.pdf");
HSSFPatriarch drawing = (HSSFPatriarch)sheet.CreateDrawingPatriarch();
HSSFClientAnchor anchor = (HSSFClientAnchor)drawing.CreateAnchor(0, 0, 0, 0, 1, 1, 0, 0);
anchor.AnchorType = AnchorType.MoveAndResize;
drawing.CreateObjectData(anchor, pdfIdx, iconid);
// 保存文件
var fileName = DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss") + ".xls";
FileStream fs = new FileStream(fileName, FileMode.Create);
workbook.Write(fs);
fs.Close();
workbook.Close();
}
//插入图片
static void InsertImg()
{
//创建工作簿
HSSFWorkbook wk = new HSSFWorkbook();
ISheet sheet = wk.CreateSheet("sheet1");
//sheet.SetColumnWidth(0, 1);
//sheet.AutoSizeColumn(0);
//添加内容
IRow row = sheet.CreateRow(0);
ICell cell = row.CreateCell(0);
HSSFRichTextString rich = new HSSFRichTextString("签名:");
cell.SetCellValue(rich);
//添加图片
byte[] bytes = System.IO.File.ReadAllBytes("001.png");
int pictureIdx = wk.AddPicture(bytes, PictureType.PNG);
HSSFPatriarch patriarch = (HSSFPatriarch)sheet.CreateDrawingPatriarch();
//HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 1023, 0, 0, 0, 1, 3);
HSSFClientAnchor anchor = new HSSFClientAnchor(223, 0, 0, 0, 0, 0, 1, 1);
//设置图片变换类型
anchor.AnchorType = AnchorType.MoveDontResize;
HSSFPicture pict = (HSSFPicture)patriarch.CreatePicture(anchor, pictureIdx);
//pict.Resize(100,50);
//保存到文件
var fileName = DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss") +"图片"+ ".xls";
FileStream fs = new FileStream(fileName, FileMode.Create);
wk.Write(fs);
fs.Close();
wk.Close();
Console.WriteLine("导出数据成功!");
}