展开全部
/// <summary>
/// 在打印窗口中画表格
/// </summary>
/// <param name="p">VB2008Print组件名</param>
/// <param name="str">表格中的文字 </param>
/// <param name="w">表格宽度</param>
/// <param name="h">表格高度</param>
/// <param name="x">起始X坐标</param>
/// <param name="y">起始Y坐标</param>
/// <param name="top">上边框</param>
/// <param name="left">左边框</param>
/// <param name="butom">下边框</param>
/// <param name="right">右边框</param>
/// <param name="jcx">是否继承绘图后的X坐标</param>
/// <param name="jcy">是否继承绘图后的Y坐标</param>
public static void drawTable(VB2008Print p, string str, int w, int h, float x, float y, bool top = true, bool left = true, bool butom = true, bool right = true, bool jcx = false, bool jcy = false, int size = 9, int sj = 0)
{
Pen pen = new Pen(Color.FromArgb(153, 153, 153), 1); //打印画笔
Font fontTitle = new Font("Verdana", 13,
System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); //单据标题字体
Font font = new Font("Verdana", size,
System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); //单据标题字体
if (top)
{
p.DrawLine(pen, x, y, x + w, y);
}
if (left)
{
p.DrawLine(pen, x, y, x, y + h);
}
if (butom)
{
p.DrawLine(pen, x, y + h, x + w, y + h);
}
if (right)
{
p.DrawLine(pen, x + w, y, x + w, y + h);
}
p.Currentx = sj + x;
p.Currenty = Convert.ToInt16(h / 5) + y;
p.DrawText(str, w - 2 - sj, font);
if (jcx)
{
p.Currentx = x + w;
}
else
{
p.Currentx = x;
}
if (jcy)
{
p.Currenty = y + h;
}
else
{
p.Currenty = y;
}
}
你根据上面的代码改一改就行了!
追问
这样不行,我需要在一个单元格里采用不同类型像上下标之类的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用Range的get_Characters(,).Font设置字体、字号
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用pageoffice吧,挺好用的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询