TXControl NET 23 Selection.Save函数问题
本帖最后由 KingMan 于 2017-6-2 19:11 编辑我只想保存我选中的内容为byte[] 并保存文件,但是发现 它把页眉页脚都给保存啦,而我只是仅仅需要 我选中的那部分内容。如下面我仅仅需要保存表格,而不需要页面,但是保存文件后,重新加载,发现页眉页脚也保存进去啦
保存的代码:
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);
}
selection只有正文内容,不包含页眉页脚。你存的只是正文Table。页眉页脚没有存进去。
你可以把它save成word,直接就看到效果了。 gw0506 发表于 2017-6-5 10:35
selection只有正文内容,不包含页眉页脚。你存的只是正文Table。页眉页脚没有存进去。
你可以把它save成wo ...
我试过啦下,但是并没有达到效果。现在把DEMO程序附上,帮忙看下。
这个为一个文档文档,该文档有页眉和内容含有一个表格
\删除前面空行\bin\x86\Debug\NurseTemplate\NurseRecordx_28.bak
现在目的是想仅仅保存表格,不报错页眉页脚。但是调试啦几次都没有实现。
经过测试,你是对的,去不掉。我提交厂商了。 厂商说这是设计。
解决办法只能是你保存的时候再创建一个TXcontrol,然后把selection的内容设置到新的tx里面,从这里Save,然后再把这个TX删掉。 gw0506 发表于 2017-6-8 09:55
厂商说这是设计。
解决办法只能是你保存的时候再创建一个TXcontrol,然后把selection的内容设置到新的tx里 ...
好的,我尝试一下先 好~ 本帖最后由 KingMan 于 2017-6-8 11:46 编辑
KingMan 发表于 2017-6-8 10:13
好的,我尝试一下先
我尝试创建一个TXControl对象,但是出现异常。
当然,这个异常可以通过先创建一个窗体然后拖控件过去,使得这个控件实例化需要的数据都完成,这样就不会异常。
现在我不想要这部分工作,直接通过代码实例化就可以啦,应该怎么实例化。
另外,我通过窗体方式创建实例,格式化数据后,回写,会把我目标文档的页眉页脚给干掉啦
我这里没有问题
textControl1.Selection.Save(out uData, BinaryStreamType.InternalFormat);
TextControl txcontrol = new TextControl();
textControl1.Load(uData, BinaryStreamType.InternalFormat); 本帖最后由 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;
但是,还是有点问题,就是偶尔有时会出现消除的时候出现空隙,试多几次就就正常啦。
页:
[1]
2