RDLC Report Definition Language Client 微软提供的报表工具
RDLC是用XML描述的,所以动态生成RDLC报表也就是动态生成XML。
动态生成RDLC报表可以有两种方式,一是修改已经存在的rdlc报表文件,一是完全程序内生成,看你自己选择。完全程序内生成的话全部手写代码不现实,我用过的方式是把rdlc内容替换为代码,然后再自行修改。
在VS里通过正则表达式按下面步骤替换
{\<[^/\>]+\>}{.+}{\</[^\>]+\>} -> \1\nxmlTextWriter.WriteString("\2");\n\3
\<{[^:b\>]+}{(:b[^:b\>]+\=\"[^\"]+\")+}\> -> <\1>\2
:b{[^:b\=]+}\={\"[^\"]+\"} -> \nxmlTextWriter.WriteAttributeString("\1",\2);
\<{[^:b\>/]+}:b*/\> -> xmlTextWriter.WriteElementString("\1",null);
\</[^/\>]+\> -> xmlTextWriter.WriteEndElement();
\<{[^/\>]+}\> -> xmlTextWriter.WriteStartElement("\1");
xmlTextWriter按自己程序里名字更改,当然<?xml?>要改成xmlTextWriter.WriteStartDocument();