C#-C#如何在word中插入公式
在利用C#创建word时,我需要向word中写入一些数学公式,不知道有没有相应的类函数可以调用?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
在利用C#创建word时,我需要向word中写入一些数学公式,不知道有没有相应的类函数可以调用?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
Eq是Equation(公式)的缩写,Eq域能够生成数学公式。创建公式当然最好用“公式编辑器”了,但在某些情况下使用Eq域来输入简单的数学公式也是一个不错的选择。根据Eq域的不同开关,分别能完成以下内容:绘制二维数组、用方括号括住单个元素、创建分数、使用一个或两个元素绘制根号、设置上下标、在元素四周绘制边框及将多个值组成一个列表等等。
域的表达式一般为:eq 开关选择项(文字),它允许同时套用多种开关创建更复杂的公式。
首先看看Word菜单插入/域:域类别=等式和公式;域名=Eq;(创建科学公式);域选项(开关)如下表:
开关 说明
A() 用任何编号的参数绘制二维矩阵
B() 用适合元素大小的括弧来括住单个的元素
D() 精确控制下一个字符的水平位置
F(,) 创建在分数线上下居中的分数
I(,,) 利用上限、下限和被积函数建立一个积分
L() 创建数值列表
O() 将每一个连续的元素重叠在其前一个元素上
R() 绘制根式
S() 将元素设置为上标或下标
X() 在括号内文字的周围创建一个方框
下面看几个比较实用的例子:
“EQ i(-1,1,3x+7)”表示“3x+7”从-1到1的积分,开关i(,,)能使用指定的符号或默认符号及三个元素创建积分。
“EQ r(2,3m-2)”表示3m-2的平方根,(开关r(,)能使用一个或两个元素绘制根号。
“EQ f(7,8)”表示八分之七 ,(开关f(,)能创建分数)。
“EQ a ac co2 vs3 hs3(Ax,By,C,D)”表示一个二维数组。
“EQ b bc{ (r(3,x+y))” ,表示用方括号括住单个元素。
有了Word域的基本知识后。如何用.NET实现,简单了,不过几行代码而已:
/// <summary>
/// 在Word中添加公式一、公式二
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
object oEndOfDoc = "\endofdoc";
WordObject wd = new WordObject();
wd.CreateNewDocument(System.Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) + @"ax.doc", true);
Word.Range range = wd.Document.Bookmarks.get_Item(ref oEndOfDoc).Range;
object fieldType = Word.WdFieldType.wdFieldEmpty;
object formula = @"EQ R(3,a*f(d,bs)+f(b+c+d,b-c-x)) ";//公式一
object preserveFormatting = false;
//字体设置
range.Text = formula.ToString();
range.Font.Size = 20;//字体大小
range.Font.Bold = 0;//粗体
range.Font.Subscript = 0;//是否为下标1为下标
range.Font.Color = Word.WdColor.wdColorYellow;//所选字体颜色
wd.Document.Fields.Add(range, ref fieldType, ref formula, ref preserveFormatting);//插入第一个公式
formula = @"EQ USdo(x)=R(,Usdo(z)s-Usdo(r)s(2))(%) ";//公式二
//字体设置
range.Text = formula.ToString();
range.Font.Size = 20;//字体大小
range.Font.Bold = 0;//粗体
range.Font.Subscript = 0;//是否为下标1为下标
range.Font.Color = Word.WdColor.wdColorRed;//所选字体颜色
Word.Field fd = wd.Document.Fields.Add(range, ref fieldType, ref formula, ref preserveFormatting);//插入第二个公式
}