您的位置:首页 > 其它

apose在word生成表格

2017-03-10 16:49 134 查看
apose生成word表格的时候,要显插入书签,然后在插入书签的地方有两种方式可以进行操作:1、填充单元格,即一个单元格一个书签2、根据书签,在书签处画表格

1、画表格

Aspose.Words.Document doc = new Aspose.Words.Document("demo.doc");
DocumentBuilder builder = new DocumentBuilder(doc);
builder.MoveToBookmark("sq");//书签
builder.StartTable();//开始画Table
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center; // RowAlignment.Center;
string str = string.Empty;
builder.RowFormat.Height = 20;
//添加每行数据
for (int i = 0; i < item.Rows.Count; i++)
{
for (int j = 0; j < item.Columns.Count; j++)
{
str = item.Rows[i][j].ToString();
//插入Table单元格
builder.InsertCell();
//Table单元格边框线样式
builder.CellFormat.Borders.LineStyle = LineStyle.Single;
//Table此单元格宽度 跟随列头宽度
//builder.CellFormat.Width = 500;
//此单元格中内容垂直对齐方式
builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;
builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.None;
builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None;
//字体大小
builder.Font.Size = 10;
//是否加粗
builder.Bold = false;
if ((i == 6 && j == 1) || (i == 5 && j == 1))
{
//builder.InsertImage(@"C:\Users\GXSN\Desktop\a2dd4dcdfa08ec59a493b3c069571d4f.jpg", 10, 20);
builder.InsertImage(getimage(str), 60, 40);//上面的也可以,就是可能会比较慢
}
else
{
//向此单元格中添加内容
builder.Write(str);
}
}
//Table行结束
builder.EndRow();

builder.EndTable();
builder.InsertBreak(BreakType.LineBreak);
public System.Drawing.Image getimage(string str)
{
WebRequest myrequest = WebRequest.Create(str);
WebResponse myresponse = myrequest.GetResponse();
Stream imgstream = myresponse.GetResponseStream();
System.Drawing.Image img = System.Drawing.Image.FromStream(imgstream);
try
{

//img.Save(Server.MapPath("test.jpg"),System.Drawing.Imaging.ImageFormat.Jpeg);
MemoryStream ms = new MemoryStream();
img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
return img;
//Response.ClearContent(); //需要输出图象信息 要修改HTTP头
//Response.ContentType = "image/gif";
//Response.BinaryWrite();
}
catch (Exception ex)
{
return img;
}
2、书签处插入
builder.MoveToBookmark("书签");
builder.Write("单元格内容");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: