找回密码
 立即注册

QQ登录

只需一步,快速开始

KingMan

中级会员

68

主题

148

帖子

554

积分

中级会员

积分
554
KingMan
中级会员   /  发表于:2017-6-2 19:10  /   查看:6420  /  回复:12
本帖最后由 KingMan 于 2017-6-2 19:11 编辑

我只想保存我选中的内容为byte[] 并保存文件,但是发现 它把页眉页脚都给保存啦,而我只是仅仅需要 我选中的那部分内容。如下面我仅仅需要保存表格,而不需要页面,但是保存文件后,重新加载,发现页眉页脚也保存进去啦
G({Q4X6380R{3EM9}(G}QY6.png10422972.png

保存的代码:
        private void button10_Click(object sender, EventArgs e)
        {
            Table pCurrentTable = textControl1.Tables.GetItem();
            if (pCurrentTable != null)
                 pCurrentTable.Select();
            //byte[] cData;
            //textControl1.Save(out cData, BinaryStreamType.InternalFormat);
            textControl1.Selection.Save(out uData, BinaryStreamType.InternalFormat);
            LocalFileManger.SaveFileToLocal("NurseTemplate", "NurseRecordx_28.bak", uData);
        }

加载代码:
  private void button9_Click(object sender, EventArgs e)
        {
            FileInfo fileMsg = null;
            byte[] bBytes = LocalFileManger.GetFileByte("NurseTemplate", "NurseRecordx_28.bak", out fileMsg);
            if (bBytes == null || bBytes.Length <= 0)
                return;
            textControl1.Selection.Load(bBytes, BinaryStreamType.InternalFormat);
        }


12 个回复

正序浏览
gw0506
超级版主   /  发表于:2017-6-9 10:35:34
13#
那就没有更好的办法了。
回复 使用道具 举报
KingMan
中级会员   /  发表于:2017-6-9 10:24:41
12#
本帖最后由 KingMan 于 2017-6-9 10:26 编辑
gw0506 发表于 2017-6-9 09:38
1. 这个没有办法,之前跟厂商沟通过,直接插入的时候,会自动合并。
2. 我看你说有时候空行有距离,有时 ...

X79LPC${2W$AHWY)5SA_$~4.png579352721.png

M%E$}(GW20I4U{4HR7J)]YO.png199341124.png

)9AL%TM[V~OWUWD)~O)8Q)K.png537750243.png

表格间隙消除,消着,会变化。
]}3`OA[2C@3W)94YA9`IEVM.png402610167.png
,另外,你说的lInespaceing赋值0会异常的

回复 使用道具 举报
gw0506
超级版主   /  发表于:2017-6-9 09:38:46
11#
KingMan 发表于 2017-6-8 16:43
再请教两个问题:
1.有没有办法让相同列的相邻表不自动合并
2.如何在两个表中添加一个空行,该空行高度 ...

1. 这个没有办法,之前跟厂商沟通过,直接插入的时候,会自动合并。
2. 我看你说有时候空行有距离,有时候没有。现在是什么情况,有还是没有。可以吧LineSpacing设置为0试试。
回复 使用道具 举报
KingMan
中级会员   /  发表于:2017-6-8 16:43:41
10#
本帖最后由 KingMan 于 2017-6-8 20:29 编辑
gw0506 发表于 2017-6-8 12:09
我这里没有问题

再请教两个问题:
1.有没有办法让相同列的相邻表不自动合并
2.如何在两个表中添加一个空行,该空行高度无限小


我在以往的帖子中找到了一个方法,
  • // 获取Table对象
  •     TXTextControl.Table tb = this.textControl1.Tables.GetItem(1001);
  •     this.textControl1.InputPosition = new TXTextControl.InputPosition(tb.Cells.GetItem(1, 1).Start - 2);
  •     textControl1.InputFormat.LineSpacing = 1;

但是,还是有点问题,就是偶尔有时会出现消除的时候出现空隙,试多几次就就正常啦。
6YGOLQ4E]YK5W[95DLD~WT3.png308710021.png
3[O80L50}T@%R{YUZRKCA]C.png64744872.png
回复 使用道具 举报
gw0506
超级版主   /  发表于:2017-6-8 12:09:18
9#
我这里没有问题
  1.             textControl1.Selection.Save(out uData, BinaryStreamType.InternalFormat);

  2.             TextControl txcontrol = new TextControl();
  3.             textControl1.Load(uData, BinaryStreamType.InternalFormat);
复制代码
回复 使用道具 举报
KingMan
中级会员   /  发表于:2017-6-8 11:16:56
8#
本帖最后由 KingMan 于 2017-6-8 11:46 编辑
KingMan 发表于 2017-6-8 10:13
好的,我尝试一下先

我尝试创建一个TXControl对象,但是出现异常。
当然,这个异常可以通过先创建一个窗体然后拖控件过去,使得这个控件实例化需要的数据都完成,这样就不会异常。
现在我不想要这部分工作,直接通过代码实例化就可以啦,应该怎么实例化。

P(NT~%N)0FI8K@]1EFAWX1U.png506601256.png

另外,我通过窗体方式创建实例,格式化数据后,回写,会把我目标文档的页眉页脚给干掉啦
回复 使用道具 举报
gw0506
超级版主   /  发表于:2017-6-8 10:15:43
7#
好~
回复 使用道具 举报
KingMan
中级会员   /  发表于:2017-6-8 10:13:11
6#
gw0506 发表于 2017-6-8 09:55
厂商说这是设计。
解决办法只能是你保存的时候再创建一个TXcontrol,然后把selection的内容设置到新的tx里 ...

好的,我尝试一下先
回复 使用道具 举报
gw0506
超级版主   /  发表于:2017-6-8 09:55:58
5#
厂商说这是设计。
解决办法只能是你保存的时候再创建一个TXcontrol,然后把selection的内容设置到新的tx里面,从这里Save,然后再把这个TX删掉。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部