数据之间多出一个换行
word 导出整体是OK的,但是你发现没有,哪些线条都没掉了, 我们的模板里是有这些线条的;Excel也是对的,但是就是有些信息, 如费用名称,金额,我们用”回车换行“隔开了,但是导出到Excel时,黏在一起了,我们不得不去调整。1. 导出word时,要显示线条出来
2. 导出Excel时,根据回车换行自动换行显示;
第一个问题: 我们改了代码,更糟糕, 不是到你们有没有兼容的方法。 您好,
我这边需要重现这个问题,麻烦您重新上传下最新的报表模板,以及您导出的word和excel。
由于我这边没有您拼这个字段的代码,麻烦请您一套附上,方便我们重现问题。
刚才跟您打电话,没有接通。如果我在这个帖子里面,表述的不清楚,随时联系。 1 我们在这张报表中有主表也有从表; 我们根据主表的数据,对从表的数据进行汇总: 如下是我们从表数据汇总的函数,请看。我们是用回车换行隔开了:
create function .(@keyid nvarchar(4000),@cd nchar(1),@ioid nchar(1)=1, @fmid nchar(1)='N')
returns nvarchar(4000) as
begin
DECLARE @STR varchar(8000)
SELECT @STR=ISNULL(@STR+CHAR(13)+char(10),'')+isnull(item1,'') -----用回车换行隔开了每个从表的数据
FROM (SELECT top 100 percent CAST(case when @cd='T' then f_costitem.Payplacecd else f_costitem.Payplace end as varchar(8000)) as item1,costprntno
FROM f_costitem left join ia_document on f_costitem.dockeyid=ia_document.keyid
left join f_costsetting on f_costsetting.costcd=f_costitem.costcd and ia_document.orgcd=f_costsetting.orgcd
WHERE f_costitem.dockeyid =@keyid and ioid=case when @ioid=0 then ioid else @ioid end
and isnull(f_costitem.fmid,'N')=@fmidorder by costprntno)AS T
return @STR
end
2. 数据模板, 你看, 我们另存为pdf是OK的,但是另存为Excel有问题: 数据显示还是有问题; 另存为Word时, 线条会没掉
模板 与导出Excel:
预览:
另存为pdf:
另存为word:
您好,
需要确定那几个换行是哪个控件里面出现的,增加Table控件的边框。
你好,我今天没有带电话, 你的方案是解决什么问题? 您好,
关于您的问题,我们分析如下:
1.如下图所示
这个问题中,从导出的excel可以看到,这个是一个单元格的数据。由于模板设计时,这个是一个textBox导出的。没有办法控制到单元格内部数据的显示。
2.预览是压线的问题
这个问题,还是需要通过修改报表模板来解决。
3.您在ISNULL(@STR+CHAR(13)+char(10),'')+isnull(item1,'')
从excel里面截取的字符串,字符串是空格隔开的。我们怀疑是excel自己做了转换。
我还是您建议修改报表模板。您这边的环境,数据库,代码我这边都没有,所有没有办法重现问题。
建议您想办法给我一个能够重现这个问题的例子。我们只有重现这个问题,才能解决问题。 ISNULL(@STR+CHAR(13)+char(10),'')+isnull(item1,'') :这个绝对是回车换行,而不是空格隔开。
1. 第一个问题间隔非常大的, 你们有什么解决方案吗?
2. 我没办法给你们数据,你们不能远程看下吗?你其他客户遇到问题, 他们难道都能给你数据吗?
3. 你说的导出Excel有问题, 但是我们保存到PDF, 或者word时, 这个数据就不会缩到一起了。 回复 6楼frank.zhang的帖子
2.这个要怎么调整?
请问你是否对比了pdf, excel 跟word以及预览版:
你发回发现。 PDF版是准确的。
但是预览时, 压线并且数据之间间隔偏大;
Excel版的, 数据会黏在一起,不能自动根据回车换行转化;
word版,线条没掉了。请参照下 您好,
这个问题,我仔细看了下您发的附件,确实如您所描述的。但是,excel,pdf是不同厂家的不同产品,它们的内部处理机制是不一样的。这个导出的问题,我的思路是改变模板,不让一个TextBox显示太多的内容,以达到简化的目的。
我这边想要一个能够重现问题的例子,因为,没有重现问题,我给您的只能是建议和猜测。我们找不到问题,就没有对策,更加谈不上解决。 回复 6楼frank.zhang的帖子
我把数据截取下来了, 请看附件---里面有数据库
这次应该能重现问题了吧.