这个格式代码是什么( A)在C#中使用office interop时得到的? [英] What is this format code ( a) I get when using office interop in c#?

查看:25
本文介绍了这个格式代码是什么( A)在C#中使用office interop时得到的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在编写一些代码来迭代Word文档的表(100个表的数量,但我认为这并不重要),并在它们的字段中使用在另一个Word文档中使用c#找到的表的数据填充它们的字段。

基本上是将数据从文档B中的一些表复制到文档A中的表。在迁移数据之前,我需要确保文档B和文档A中的几个单元格匹配,但这被证明是困难的,因为数据的格式最终会导致错误,因为这两个字段不相等,尽管它们具有相同的可见文本。

要从我使用的表格中的各个单元格中拉出文本

table.Cell(row,col).Range.Text;
但这返回了一个值,如"This Cell‘s Value A" 所以我不得不修改删除

table.Cell(row,col).Range.Replace("
a","").Text;

这很管用,但我想知道有没有其他不那么麻烦的方法来实现这个结果,或者 A实际上意味着。通过谷歌和StackOverflow,我找不到任何能回答我问题的东西。谢谢。

推荐答案

字符组合ANSI13+ANSI7定义表格结构(单元格结尾/行尾),因此需要从读取表格单元格内容获得的文本字符串中进行修剪。我使用如下所示的函数。使用Replace是不可取的,因为表格单元格可能包含额外的ANSI 13(段落标记,您认为这是"新行",但在Word中这些标记不止于此-想想html p vs br,在Word中是ANSI 11,一个新行)。

//cut off ANSI 13 + ANSI 7 from the end of the string coming from a 
//Word table cell
private string TrimCellText2(s As String)
{
    int len = s.Length;
    while (len > 0 && s.Substring(len - 1) == (char)13 || s.Substring(len - 1) == (char)7);
    {
        s = s.Substring(0, Math.Min(len-1, len));   
    }
    return s;
}

这篇关于这个格式代码是什么( A)在C#中使用office interop时得到的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆