visual Studio 2010 自带报表RDLC动态生成
---恢复内容开始---
首先来说没有做到全部的代码操作,刚一上来要建立一个报表文件,并且给他绑定一个随便的数据集,例如 dataset1
然后才是我接下来的操作,以上的操作,网上很多,一查就能找到 Report1.rdlc
测试时上边绑定了一个,在应用时可以不需要绑定,然后是数据源是读取到的一个 datatable
创建了一个类,对象是rd ,装载的报表所需的信息,例如,刚才的datatable,报表名称,创建英文的字段名称是datatable中的列名,中文是别名等等
namespace Reports { public enum DateTimeEnum { Space, Year, Month } public enum ReportDateType { Day, Month, Year } public enum ReportType { 日报表, 月报表, 年报表 } [Serializable] public class ReportData { /// <summary> /// 数据源 /// </summary> private DataTable dataSource; /// 标题 /// </summary> private string header; /// <summary> /// 表头 /// </summary> private string subHeader; /// <summary> /// <summary> /// 英文字段名称 /// </summary> private List<string> eFieldList; /// <summary> /// 中文字段名称 /// </summary> private List<string> cFieldList; } }
然后就是当点击按钮后调用创建报表方法
//创建报表 this.rd.WriteFile();
public void WriteFile() { //得到rd this.getData(); //创建文件流对象 string tempfile = System.IO.Path.GetTempFileName(); //"rdlc\\Report1.rdlc" using (StreamWriter sw = new StreamWriter(tempfile)) { XMLWriteRDLC xwr = new XMLWriteRDLC(); //创建报表文件 this.Document = xwr.CreateReportFile(this); //写入数据 sw.Write(this.Document); sw.Close(); } rdlcFile = tempfile; }
public string CreateReportFile(ReportData rd) { #region 2008的报表 try { this.document = new XmlDocument(); //加载报表文件,设定表头 document.Load(Application.StartupPath + "\\rt\\Report1.rdlc"); //这个方法返回报表文件的第一列第一行 this.getNode("Body", "ReportItems", "Value").InnerText = rd.Header; double defauleColumnWidth = 1; int col = 0; int cell = 0; int sum = 1; int fontSize = 12; string nullColumnstr = ""; string[] pram = new string[] { "Body", "ReportItems", "TablixRows", "TablixRow" }; //给固定的列的时间,小标题等赋值,放在了第三行第一列 this.getNodescond("Body", "ReportItems", "TablixRow", "Value").InnerText = rd.SubHeader; //添加的是报表文件的数据集,根据datatable的列名,添加,这次添加的是时间 this.CreateDataSetFields((XmlElement)this.getNode("DataSets", "Fields"), rd.DataSource.Columns[0].ColumnName, rd.DataSource.Columns[0].ColumnName, "System.String"); //添加的是第四行第一列的数据值 this.getNodethree("Body", "ReportItems", "TablixRow", "Value").InnerText = "=Fields!" + rd.DataSource.Columns[0].ColumnName + ".Value"; //根据数据的列,创建报表的列,以及报表数据源的列,英文测点名 for (int i = 1; i < rd.PointFieldName.Count+1 ; i++) { //英文测点名下的物理量,中文名 for (int j = 1; j < rd.CFieldList.Count+1; j++) {//sum是列数统计 sum++; col++;
//创建列 CreateTableColumn_2008(this.getNode("Body", "ReportItems", "TablixColumns"), defauleColumnWidth);
//每添加一列,在报表最后边的"TablixColumnHierarchy", "TablixMembers",就要添加一个空的站位
this.getNode("Body", "ReportItems", "Tablix", "TablixColumnHierarchy", "TablixMembers").InnerXml += "<TablixMember />";
//物理量名称 string filedPhyTypes = rd.CFieldList[j - 1]; cell++; int ab = (i - 1) * rd.CFieldList.Count + j; string name = rd.DataSource.Columns[ab].ColumnName; string endname = name.Substring(name.IndexOf("_")+1, name.Length-name.IndexOf("_")-1); name = name.Substring(0, name.IndexOf("_")); string sname = name; if(name.IndexOf("-")>0) { sname = name.Replace("-","_"); } rd.DataSource.Columns[ab].ColumnName = sname+endname; //添加datatable的所有测点数据列 this.CreateDataSetFields((XmlElement)this.getNode("DataSets", "Fields"), rd.DataSource.Columns[ab].ColumnName, rd.DataSource.Columns[ab].ColumnName, "System.Double"); //除了第一行全部合并,其他的测点只是合并自己物理量的列 if (rd.CFieldList.Count > 1) { if (j == 1) {//创建单元格是测点第一物理量的时候,该测点合并其他物理量的列 CreateTableCell_2008((XmlElement)(this.getNode("Body", "ReportItems", "TablixRows").ChildNodes[1].LastChild), "TextBox2000" + i + j, name, fontSize, 1); this.getNodeToShu(pram, 3, 1).ChildNodes[1].LastChild.LastChild.InnerXml += "<ColSpan>" + rd.CFieldList.Count + "</ColSpan>"; } else {//不是第一个物理量就直接空白,上边测点名称已经合并,添加空白 this.getNodeToShu(pram, 3, 1).LastChild.InnerXml += "<TablixCell />"; } } else {//只有一个测点物理量,直接添加 CreateTableCell_2008((XmlElement)(this.getNode("Body", "ReportItems", "TablixRows").ChildNodes[1].LastChild), "TextBox2000" + i + j, name, fontSize, 1); }
//根据找到行的集合,开始根据子节点,添加文本框,第三行的最后列单元格后,添加新的测点物理量 CreateTableCell_2008((XmlElement)(this.getNode("Body", "ReportItems", "TablixRows").ChildNodes[2].LastChild), "TextBox3000" + i + j, filedPhyTypes, fontSize, 1);
//绑定动态的数据集数据列 CreateTableCell_2008((XmlElement)(this.getNode("Body", "ReportItems", "TablixRows").ChildNodes[3].LastChild), "TextBox4000" + i + j, "=Fields!" + rd.DataSource.Columns[ab].ColumnName + ".Value", fontSize, 1);
//补全余下列的空白单元格 this.getNode("Body", "ReportItems", "TablixRows", "TablixRow").LastChild.InnerXml += "<TablixCell />"; } } //最后合并标题的列 this.getNode("Body", "ReportItems", "TablixRows", "TablixRow").ChildNodes[1].ChildNodes[0].LastChild.InnerXml += "<ColSpan>" + sum + "</ColSpan>"; return document.InnerXml; } catch (Exception ex) { throw; } #endregion }
然后是需要的方法
private void CreateDataSetFields(XmlElement element, string name, string field, string typename) { element.InnerXml += "<Field Name=\"" + name + "\">" + "<DataField>" + field + "</DataField>" + "<rd:TypeName>" + typename + "</rd:TypeName>" + "</Field>"; } /// <summary> /// 创建内容或数据单元格2008 /// </summary> /// <param name="element"></param> /// <param name="txtName"></param> /// <param name="value"></param> /// <param name="fontSize"></param> private void CreateTableCell_2008(XmlElement element, string txtName, string value, int fontSize, int typeID) { string type = ""; if (typeID == 0) {//添加普通单元格 type = "TablixCornerCell"; } else { //添加绑定数据单元格 type = "TablixCell"; } string a = "<" + type + ">" + "<CellContents>" + "<Textbox Name=\"" + txtName + "\">" + "<CanGrow>true</CanGrow>" + "<KeepTogether>true</KeepTogether>" + "<Paragraphs>" + "<Paragraph>" + "<TextRuns>" + "<TextRun>" + "<Value>" + value + "</Value>" + "<Style>" + "<FontStyle>Normal</FontStyle>" + "<FontFamily>宋体</FontFamily>" + "<FontSize>" + fontSize + "pt</FontSize>" + "<FontWeight>Normal</FontWeight>" + "<TextDecoration>None</TextDecoration>" + "</Style>" + "</TextRun>" + "</TextRuns>" + "<Style>" + "<TextAlign>Center</TextAlign>" + "</Style>" + "</Paragraph>" + "</Paragraphs>" + "<rd:DefaultName>" + txtName + "</rd:DefaultName>" + "<Style>" + "<Border>" + "<Color>Green</Color>" + "<Style>Solid</Style>" + "</Border>" + "<VerticalAlign>Middle</VerticalAlign>" + "<PaddingLeft>2pt</PaddingLeft>" + "<PaddingRight>2pt</PaddingRight>" + "<PaddingTop>2pt</PaddingTop>" + "<PaddingBottom>2pt</PaddingBottom>" + "</Style>" + "</Textbox>" + "</CellContents>" + "</" + type + ">"; element.InnerXml += a; } /// <summary> /// 查询单个节点 /// </summary> /// <param name="value"></param> /// <returns></returns> private XmlElement getNode(params string[] value) { XmlElement xe = (XmlElement)document.GetElementsByTagName(value[0]).Item(0); for (int i = 1; i < value.Length; i++) { xe = (XmlElement)xe.GetElementsByTagName(value[i]).Item(0); } return xe; } private XmlElement getNodescond(params string[] value) { XmlElement xe = (XmlElement)document.GetElementsByTagName(value[0]).Item(0); xe = (XmlElement)document.GetElementsByTagName(value[1]).Item(0); xe = (XmlElement)document.GetElementsByTagName(value[2]).Item(1); xe = (XmlElement)document.GetElementsByTagName(value[3]).Item(2); return xe; } private XmlElement getNodethree(params string[] value) { XmlElement xe = (XmlElement)document.GetElementsByTagName(value[0]).Item(0); //xe = (XmlElement)document.GetElementsByTagName(value[1]).Item(0); //xe = (XmlElement)document.GetElementsByTagName(value[2]).Item(1); xe = (XmlElement)document.GetElementsByTagName(value[3]).Item(3); return xe; } private XmlElement getNodeToShu(string[] value,int a,int b) { XmlElement xe = (XmlElement)document.GetElementsByTagName(value[0]).Item(0); xe = (XmlElement)document.GetElementsByTagName(value[a]).Item(b); return xe; } /// <summary> /// 创建TableColumn节点 /// </summary> /// <param name="parentColumn"></param> private void CreateTableColumn_2008(XmlElement parentColumn, double width) { parentColumn.InnerXml += "<TablixColumn>" + "<Width>" + width + "in</Width>" + "</TablixColumn>"; }
方法都实现了就是调用了
//根据所选择的数据进行数据预览 private void ShowReport(string rdlcfile, DataTable dt) { if (dt != null && rdlcfile != null && rdlcfile.Length > 0) { // 清空报表的数据源,添加地址 this.reportViewer1.LocalReport.DataSources.Clear(); this.reportViewer1.LocalReport.ReportPath = Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, rdlcfile); //添加数据源 this.reportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporting.WinForms.ReportDataSource("DataSet1", dt)); //这个很重要,刷新 this.reportViewer1.RefreshReport(); } else { MessageBox.Show("没有数据", "系统提示!", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
现在我来对比一下开始建立的报表,以及我后来生成的报表
以下是生成的rdlc报表
<?xml version="1.0" encoding="utf-8"?> <Report xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns="http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition"> <DataSources> <DataSource Name="StressStrainDataSet"> <ConnectionProperties> <DataProvider>System.Data.DataSet</DataProvider> <ConnectString>/* Local Connection */</ConnectString> </ConnectionProperties> <rd:DataSourceID>7a4cac21-7681-4e09-8056-23a708b44628</rd:DataSourceID> </DataSource> </DataSources> <DataSets> <DataSet Name="DataSet1"> <Fields> <Field Name="sPointGuid"> <DataField>sPointGuid</DataField> <rd:TypeName>System.String</rd:TypeName> </Field> <Field Name="dSDate"> <DataField>dSDate</DataField> <rd:TypeName>System.DateTime</rd:TypeName> </Field> <Field Name="Reading"> <DataField>Reading</DataField> <rd:TypeName>System.Double</rd:TypeName> </Field> <Field Name="srcNote"> <DataField>srcNote</DataField> <rd:TypeName>System.String</rd:TypeName> </Field> <Field Name="errNote"> <DataField>errNote</DataField> <rd:TypeName>System.String</rd:TypeName> </Field> </Fields> <Query> <DataSourceName>StressStrainDataSet</DataSourceName> <CommandText>/* Local Query */</CommandText> </Query> <rd:DataSetInfo> <rd:DataSetName>StressStrainDataSet</rd:DataSetName> <rd:SchemaPath>D:\大坝安全监测系统\报表\Reports\StressStrainDataSet.xsd</rd:SchemaPath> <rd:TableName>StressStrainDataSetTable</rd:TableName> <rd:TableAdapterFillMethod>Fill</rd:TableAdapterFillMethod> <rd:TableAdapterGetDataMethod>GetData</rd:TableAdapterGetDataMethod> <rd:TableAdapterName>StressStrainDataSetTableAdapter</rd:TableAdapterName> </rd:DataSetInfo> </DataSet> </DataSets> <Body> <ReportItems> <Tablix Name="Tablix1"> <TablixBody> <TablixColumns> <TablixColumn> <Width>0.98425in</Width> </TablixColumn> </TablixColumns> <TablixRows> <TablixRow> <Height>0.23622in</Height> <TablixCells> <TablixCell> <CellContents> <Textbox Name="Textbox1"> <CanGrow>true</CanGrow> <KeepTogether>true</KeepTogether> <Paragraphs> <Paragraph> <TextRuns> <TextRun> <Value /> <Style><FontStyle>Normal</FontStyle><FontFamily>宋体</FontFamily><FontSize>12pt</FontSize><FontWeight>Normal</FontWeight><TextDecoration>None</TextDecoration></Style> </TextRun> </TextRuns> <Style><TextAlign>Center</TextAlign></Style> </Paragraph> </Paragraphs> <rd:DefaultName>Textbox1</rd:DefaultName> <Style> <Border> <Color>Green</Color> <Style>Solid</Style> </Border> <PaddingLeft>2pt</PaddingLeft> <PaddingRight>2pt</PaddingRight> <PaddingTop>2pt</PaddingTop> <PaddingBottom>2pt</PaddingBottom> </Style> </Textbox> <rd:Selected>true</rd:Selected> </CellContents> </TablixCell> </TablixCells> </TablixRow> <TablixRow> <Height>0.23622in</Height> <TablixCells> <TablixCell> <CellContents> <Textbox Name="Textbox2"> <CanGrow>true</CanGrow> <KeepTogether>true</KeepTogether> <Paragraphs> <Paragraph> <TextRuns> <TextRun> <Value /> <Style><FontStyle>Normal</FontStyle><FontFamily>宋体</FontFamily><FontSize>12pt</FontSize><FontWeight>Normal</FontWeight><TextDecoration>None</TextDecoration></Style> </TextRun> </TextRuns> <Style><TextAlign>Center</TextAlign></Style> </Paragraph> </Paragraphs> <Style> <Border> <Color>Green</Color> <Style>Solid</Style> </Border> <PaddingLeft>2pt</PaddingLeft> <PaddingRight>2pt</PaddingRight> <PaddingTop>2pt</PaddingTop> <PaddingBottom>2pt</PaddingBottom> </Style> </Textbox> </CellContents> </TablixCell> </TablixCells> </TablixRow> <TablixRow> <Height>0.23622in</Height> <TablixCells> <TablixCell> <CellContents> <Textbox Name="Textbox7"> <CanGrow>true</CanGrow> <KeepTogether>true</KeepTogether> <Paragraphs> <Paragraph> <TextRuns> <TextRun> <Value /> <Style><FontStyle>Normal</FontStyle><FontFamily>宋体</FontFamily><FontSize>12pt</FontSize><FontWeight>Normal</FontWeight><TextDecoration>None</TextDecoration></Style> </TextRun> </TextRuns> <Style><TextAlign>Center</TextAlign></Style> </Paragraph> </Paragraphs> <rd:DefaultName>Textbox7</rd:DefaultName> <Style> <Border> <Color>Green</Color> <Style>Solid</Style> </Border> <PaddingLeft>2pt</PaddingLeft> <PaddingRight>2pt</PaddingRight> <PaddingTop>2pt</PaddingTop> <PaddingBottom>2pt</PaddingBottom> </Style> </Textbox> </CellContents> </TablixCell> </TablixCells> </TablixRow> <TablixRow> <Height>0.23622in</Height> <TablixCells> <TablixCell> <CellContents> <Textbox Name="Textbox3"> <CanGrow>true</CanGrow> <KeepTogether>true</KeepTogether> <Paragraphs> <Paragraph> <TextRuns> <TextRun> <Value>=Fields!dSDate.Value</Value> <Style><FontStyle>Normal</FontStyle><FontFamily>宋体</FontFamily><FontSize>12pt</FontSize><FontWeight>Normal</FontWeight><TextDecoration>None</TextDecoration></Style> </TextRun> </TextRuns> <Style><TextAlign>Center</TextAlign></Style> </Paragraph> </Paragraphs> <Style> <Border> <Color>Green</Color> <Style>Solid</Style> </Border> <PaddingLeft>2pt</PaddingLeft> <PaddingRight>2pt</PaddingRight> <PaddingTop>2pt</PaddingTop> <PaddingBottom>2pt</PaddingBottom> </Style> </Textbox> </CellContents> </TablixCell> </TablixCells> </TablixRow> </TablixRows> </TablixBody> <TablixColumnHierarchy> <TablixMembers> <TablixMember /> </TablixMembers> </TablixColumnHierarchy> <TablixRowHierarchy> <TablixMembers> <TablixMember> <KeepWithGroup>After</KeepWithGroup> </TablixMember> <TablixMember> <KeepWithGroup>After</KeepWithGroup> </TablixMember> <TablixMember> <KeepWithGroup>After</KeepWithGroup> </TablixMember> <TablixMember> <Group Name="详细信息" /> </TablixMember> </TablixMembers> </TablixRowHierarchy> <DataSetName>DataSet1</DataSetName> <Height>2.4cm</Height> <Width>2.49999cm</Width> <Style> <Border> <Style>None</Style> </Border> </Style> </Tablix> </ReportItems> <Height>2in</Height> <Style /> </Body> <Width>6.5in</Width> <Page> <PageHeight>29.7cm</PageHeight> <PageWidth>21cm</PageWidth> <LeftMargin>2cm</LeftMargin> <RightMargin>2cm</RightMargin> <TopMargin>2cm</TopMargin> <BottomMargin>2cm</BottomMargin> <ColumnSpacing>0.13cm</ColumnSpacing> <Style /> </Page> <rd:ReportID>a4d0d1c1-dab3-4adc-ac6a-e570e452d36e</rd:ReportID> <rd:ReportUnitType>Cm</rd:ReportUnitType> </Report>
添加数据源后的
<?xml version="1.0" encoding="utf-8"?> <Report xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns="http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition"> <DataSources> <DataSource Name="StressStrainDataSet"> <ConnectionProperties> <DataProvider>System.Data.DataSet</DataProvider> <ConnectString>/* Local Connection */</ConnectString> </ConnectionProperties> <rd:DataSourceID>7a4cac21-7681-4e09-8056-23a708b44628</rd:DataSourceID> </DataSource> </DataSources> <DataSets> <DataSet Name="DataSet1"> <Fields> <Field Name="sPointGuid"> <DataField>sPointGuid</DataField> <rd:TypeName>System.String</rd:TypeName> </Field> <Field Name="dSDate"> <DataField>dSDate</DataField> <rd:TypeName>System.DateTime</rd:TypeName> </Field> <Field Name="Reading"> <DataField>Reading</DataField> <rd:TypeName>System.Double</rd:TypeName> </Field> <Field Name="srcNote"> <DataField>srcNote</DataField> <rd:TypeName>System.String</rd:TypeName> </Field> <Field Name="errNote"> <DataField>errNote</DataField> <rd:TypeName>System.String</rd:TypeName> </Field> <Field Name="dsDate"> <DataField>dsDate</DataField> <rd:TypeName>System.String</rd:TypeName> </Field> <Field Name="EM00010SZHA2IntervalDisp"> <DataField>EM00010SZHA2IntervalDisp</DataField> <rd:TypeName>System.Double</rd:TypeName> </Field> <Field Name="EM00010SZHA2AccumuDisp"> <DataField>EM00010SZHA2AccumuDisp</DataField> <rd:TypeName>System.Double</rd:TypeName> </Field> <Field Name="EM00020SZHA2IntervalDisp"> <DataField>EM00020SZHA2IntervalDisp</DataField> <rd:TypeName>System.Double</rd:TypeName> </Field> <Field Name="EM00020SZHA2AccumuDisp"> <DataField>EM00020SZHA2AccumuDisp</DataField> <rd:TypeName>System.Double</rd:TypeName> </Field> </Fields> <Query> <DataSourceName>StressStrainDataSet</DataSourceName> <CommandText>/* Local Query */</CommandText> </Query> <rd:DataSetInfo> <rd:DataSetName>StressStrainDataSet</rd:DataSetName> <rd:SchemaPath>D:\大坝安全监测系统\报表\Reports\StressStrainDataSet.xsd</rd:SchemaPath> <rd:TableName>StressStrainDataSetTable</rd:TableName> <rd:TableAdapterFillMethod>Fill</rd:TableAdapterFillMethod> <rd:TableAdapterGetDataMethod>GetData</rd:TableAdapterGetDataMethod> <rd:TableAdapterName>StressStrainDataSetTableAdapter</rd:TableAdapterName> </rd:DataSetInfo> </DataSet> </DataSets> <Body> <ReportItems> <Tablix Name="Tablix1"> <TablixBody> <TablixColumns> <TablixColumn> <Width>0.98425in</Width> </TablixColumn> <TablixColumn> <Width>1in</Width> </TablixColumn> <TablixColumn> <Width>1in</Width> </TablixColumn> <TablixColumn> <Width>1in</Width> </TablixColumn> <TablixColumn> <Width>1in</Width> </TablixColumn> </TablixColumns> <TablixRows> <TablixRow> <Height>0.23622in</Height> <TablixCells> <TablixCell> <CellContents> <Textbox Name="Textbox1"> <CanGrow>true</CanGrow> <KeepTogether>true</KeepTogether> <Paragraphs> <Paragraph> <TextRuns> <TextRun> <Value>山庄河渠道沉降标点间隔位移整编数据报表</Value> <Style> <FontStyle>Normal</FontStyle> <FontFamily>宋体</FontFamily> <FontSize>12pt</FontSize> <FontWeight>Normal</FontWeight> <TextDecoration>None</TextDecoration> </Style> </TextRun> </TextRuns> <Style> <TextAlign>Center</TextAlign> </Style> </Paragraph> </Paragraphs> <rd:DefaultName>Textbox1</rd:DefaultName> <Style> <Border> <Color>Green</Color> <Style>Solid</Style> </Border> <PaddingLeft>2pt</PaddingLeft> <PaddingRight>2pt</PaddingRight> <PaddingTop>2pt</PaddingTop> <PaddingBottom>2pt</PaddingBottom> </Style> </Textbox> <rd:Selected>true</rd:Selected> <ColSpan>5</ColSpan> </CellContents> </TablixCell> <TablixCell /> <TablixCell /> <TablixCell /> <TablixCell /> </TablixCells> </TablixRow> <TablixRow> <Height>0.23622in</Height> <TablixCells> <TablixCell> <CellContents> <Textbox Name="Textbox2"> <CanGrow>true</CanGrow> <KeepTogether>true</KeepTogether> <Paragraphs> <Paragraph> <TextRuns> <TextRun> <Value /> <Style> <FontStyle>Normal</FontStyle> <FontFamily>宋体</FontFamily> <FontSize>12pt</FontSize> <FontWeight>Normal</FontWeight> <TextDecoration>None</TextDecoration> </Style> </TextRun> </TextRuns> <Style> <TextAlign>Center</TextAlign> </Style> </Paragraph> </Paragraphs> <Style> <Border> <Color>Green</Color> <Style>Solid</Style> </Border> <PaddingLeft>2pt</PaddingLeft> <PaddingRight>2pt</PaddingRight> <PaddingTop>2pt</PaddingTop> <PaddingBottom>2pt</PaddingBottom> </Style> </Textbox> </CellContents> </TablixCell> <TablixCell> <CellContents> <Textbox Name="TextBox200011"> <CanGrow>true</CanGrow> <KeepTogether>true</KeepTogether> <Paragraphs> <Paragraph> <TextRuns> <TextRun> <Value>EM00010SZHA2</Value> <Style> <FontStyle>Normal</FontStyle> <FontFamily>宋体</FontFamily> <FontSize>12pt</FontSize> <FontWeight>Normal</FontWeight> <TextDecoration>None</TextDecoration> </Style> </TextRun> </TextRuns> <Style> <TextAlign>Center</TextAlign> </Style> </Paragraph> </Paragraphs> <rd:DefaultName>TextBox200011</rd:DefaultName> <Style> <Border> <Color>Green</Color> <Style>Solid</Style> </Border> <VerticalAlign>Middle</VerticalAlign> <PaddingLeft>2pt</PaddingLeft> <PaddingRight>2pt</PaddingRight> <PaddingTop>2pt</PaddingTop> <PaddingBottom>2pt</PaddingBottom> </Style> </Textbox> <ColSpan>2</ColSpan> </CellContents> </TablixCell> <TablixCell /> <TablixCell> <CellContents> <Textbox Name="TextBox200021"> <CanGrow>true</CanGrow> <KeepTogether>true</KeepTogether> <Paragraphs> <Paragraph> <TextRuns> <TextRun> <Value>EM00020SZHA2</Value> <Style> <FontStyle>Normal</FontStyle> <FontFamily>宋体</FontFamily> <FontSize>12pt</FontSize> <FontWeight>Normal</FontWeight> <TextDecoration>None</TextDecoration> </Style> </TextRun> </TextRuns> <Style> <TextAlign>Center</TextAlign> </Style> </Paragraph> </Paragraphs> <rd:DefaultName>TextBox200021</rd:DefaultName> <Style> <Border> <Color>Green</Color> <Style>Solid</Style> </Border> <VerticalAlign>Middle</VerticalAlign> <PaddingLeft>2pt</PaddingLeft> <PaddingRight>2pt</PaddingRight> <PaddingTop>2pt</PaddingTop> <PaddingBottom>2pt</PaddingBottom> </Style> </Textbox> <ColSpan>2</ColSpan> </CellContents> </TablixCell> <TablixCell /> </TablixCells> </TablixRow> <TablixRow> <Height>0.23622in</Height> <TablixCells> <TablixCell> <CellContents> <Textbox Name="Textbox7"> <CanGrow>true</CanGrow> <KeepTogether>true</KeepTogether> <Paragraphs> <Paragraph> <TextRuns> <TextRun> <Value>观测日期及测值</Value> <Style> <FontStyle>Normal</FontStyle> <FontFamily>宋体</FontFamily> <FontSize>12pt</FontSize> <FontWeight>Normal</FontWeight> <TextDecoration>None</TextDecoration> </Style> </TextRun> </TextRuns> <Style> <TextAlign>Center</TextAlign> </Style> </Paragraph> </Paragraphs> <rd:DefaultName>Textbox7</rd:DefaultName> <Style> <Border> <Color>Green</Color> <Style>Solid</Style> </Border> <PaddingLeft>2pt</PaddingLeft> <PaddingRight>2pt</PaddingRight> <PaddingTop>2pt</PaddingTop> <PaddingBottom>2pt</PaddingBottom> </Style> </Textbox> </CellContents> </TablixCell> <TablixCell> <CellContents> <Textbox Name="TextBox300011"> <CanGrow>true</CanGrow> <KeepTogether>true</KeepTogether> <Paragraphs> <Paragraph> <TextRuns> <TextRun> <Value>间隔位移</Value> <Style> <FontStyle>Normal</FontStyle> <FontFamily>宋体</FontFamily> <FontSize>12pt</FontSize> <FontWeight>Normal</FontWeight> <TextDecoration>None</TextDecoration> </Style> </TextRun> </TextRuns> <Style> <TextAlign>Center</TextAlign> </Style> </Paragraph> </Paragraphs> <rd:DefaultName>TextBox300011</rd:DefaultName> <Style> <Border> <Color>Green</Color> <Style>Solid</Style> </Border> <VerticalAlign>Middle</VerticalAlign> <PaddingLeft>2pt</PaddingLeft> <PaddingRight>2pt</PaddingRight> <PaddingTop>2pt</PaddingTop> <PaddingBottom>2pt</PaddingBottom> </Style> </Textbox> </CellContents> </TablixCell> <TablixCell> <CellContents> <Textbox Name="TextBox300012"> <CanGrow>true</CanGrow> <KeepTogether>true</KeepTogether> <Paragraphs> <Paragraph> <TextRuns> <TextRun> <Value>累积位移</Value> <Style> <FontStyle>Normal</FontStyle> <FontFamily>宋体</FontFamily> <FontSize>12pt</FontSize> <FontWeight>Normal</FontWeight> <TextDecoration>None</TextDecoration> </Style> </TextRun> </TextRuns> <Style> <TextAlign>Center</TextAlign> </Style> </Paragraph> </Paragraphs> <rd:DefaultName>TextBox300012</rd:DefaultName> <Style> <Border> <Color>Green</Color> <Style>Solid</Style> </Border> <VerticalAlign>Middle</VerticalAlign> <PaddingLeft>2pt</PaddingLeft> <PaddingRight>2pt</PaddingRight> <PaddingTop>2pt</PaddingTop> <PaddingBottom>2pt</PaddingBottom> </Style> </Textbox> </CellContents> </TablixCell> <TablixCell> <CellContents> <Textbox Name="TextBox300021"> <CanGrow>true</CanGrow> <KeepTogether>true</KeepTogether> <Paragraphs> <Paragraph> <TextRuns> <TextRun> <Value>间隔位移</Value> <Style> <FontStyle>Normal</FontStyle> <FontFamily>宋体</FontFamily> <FontSize>12pt</FontSize> <FontWeight>Normal</FontWeight> <TextDecoration>None</TextDecoration> </Style> </TextRun> </TextRuns> <Style> <TextAlign>Center</TextAlign> </Style> </Paragraph> </Paragraphs> <rd:DefaultName>TextBox300021</rd:DefaultName> <Style> <Border> <Color>Green</Color> <Style>Solid</Style> </Border> <VerticalAlign>Middle</VerticalAlign> <PaddingLeft>2pt</PaddingLeft> <PaddingRight>2pt</PaddingRight> <PaddingTop>2pt</PaddingTop> <PaddingBottom>2pt</PaddingBottom> </Style> </Textbox> </CellContents> </TablixCell> <TablixCell> <CellContents> <Textbox Name="TextBox300022"> <CanGrow>true</CanGrow> <KeepTogether>true</KeepTogether> <Paragraphs> <Paragraph> <TextRuns> <TextRun> <Value>累积位移</Value> <Style> <FontStyle>Normal</FontStyle> <FontFamily>宋体</FontFamily> <FontSize>12pt</FontSize> <FontWeight>Normal</FontWeight> <TextDecoration>None</TextDecoration> </Style> </TextRun> </TextRuns> <Style> <TextAlign>Center</TextAlign> </Style> </Paragraph> </Paragraphs> <rd:DefaultName>TextBox300022</rd:DefaultName> <Style> <Border> <Color>Green</Color> <Style>Solid</Style> </Border> <VerticalAlign>Middle</VerticalAlign> <PaddingLeft>2pt</PaddingLeft> <PaddingRight>2pt</PaddingRight> <PaddingTop>2pt</PaddingTop> <PaddingBottom>2pt</PaddingBottom> </Style> </Textbox> </CellContents> </TablixCell> </TablixCells> </TablixRow> <TablixRow> <Height>0.23622in</Height> <TablixCells> <TablixCell> <CellContents> <Textbox Name="Textbox3"> <CanGrow>true</CanGrow> <KeepTogether>true</KeepTogether> <Paragraphs> <Paragraph> <TextRuns> <TextRun> <Value>=Fields!dsDate.Value</Value> <Style> <FontStyle>Normal</FontStyle> <FontFamily>宋体</FontFamily> <FontSize>12pt</FontSize> <FontWeight>Normal</FontWeight> <TextDecoration>None</TextDecoration> </Style> </TextRun> </TextRuns> <Style> <TextAlign>Center</TextAlign> </Style> </Paragraph> </Paragraphs> <Style> <Border> <Color>Green</Color> <Style>Solid</Style> </Border> <PaddingLeft>2pt</PaddingLeft> <PaddingRight>2pt</PaddingRight> <PaddingTop>2pt</PaddingTop> <PaddingBottom>2pt</PaddingBottom> </Style> </Textbox> </CellContents> </TablixCell> <TablixCell> <CellContents> <Textbox Name="TextBox400011"> <CanGrow>true</CanGrow> <KeepTogether>true</KeepTogether> <Paragraphs> <Paragraph> <TextRuns> <TextRun> <Value>=Fields!EM00010SZHA2IntervalDisp.Value</Value> <Style> <FontStyle>Normal</FontStyle> <FontFamily>宋体</FontFamily> <FontSize>12pt</FontSize> <FontWeight>Normal</FontWeight> <TextDecoration>None</TextDecoration> </Style> </TextRun> </TextRuns> <Style> <TextAlign>Center</TextAlign> </Style> </Paragraph> </Paragraphs> <rd:DefaultName>TextBox400011</rd:DefaultName> <Style> <Border> <Color>Green</Color> <Style>Solid</Style> </Border> <VerticalAlign>Middle</VerticalAlign> <PaddingLeft>2pt</PaddingLeft> <PaddingRight>2pt</PaddingRight> <PaddingTop>2pt</PaddingTop> <PaddingBottom>2pt</PaddingBottom> </Style> </Textbox> </CellContents> </TablixCell> <TablixCell> <CellContents> <Textbox Name="TextBox400012"> <CanGrow>true</CanGrow> <KeepTogether>true</KeepTogether> <Paragraphs> <Paragraph> <TextRuns> <TextRun> <Value>=Fields!EM00010SZHA2AccumuDisp.Value</Value> <Style> <FontStyle>Normal</FontStyle> <FontFamily>宋体</FontFamily> <FontSize>12pt</FontSize> <FontWeight>Normal</FontWeight> <TextDecoration>None</TextDecoration> </Style> </TextRun> </TextRuns> <Style> <TextAlign>Center</TextAlign> </Style> </Paragraph> </Paragraphs> <rd:DefaultName>TextBox400012</rd:DefaultName> <Style> <Border> <Color>Green</Color> <Style>Solid</Style> </Border> <VerticalAlign>Middle</VerticalAlign> <PaddingLeft>2pt</PaddingLeft> <PaddingRight>2pt</PaddingRight> <PaddingTop>2pt</PaddingTop> <PaddingBottom>2pt</PaddingBottom> </Style> </Textbox> </CellContents> </TablixCell> <TablixCell> <CellContents> <Textbox Name="TextBox400021"> <CanGrow>true</CanGrow> <KeepTogether>true</KeepTogether> <Paragraphs> <Paragraph> <TextRuns> <TextRun> <Value>=Fields!EM00020SZHA2IntervalDisp.Value</Value> <Style> <FontStyle>Normal</FontStyle> <FontFamily>宋体</FontFamily> <FontSize>12pt</FontSize> <FontWeight>Normal</FontWeight> <TextDecoration>None</TextDecoration> </Style> </TextRun> </TextRuns> <Style> <TextAlign>Center</TextAlign> </Style> </Paragraph> </Paragraphs> <rd:DefaultName>TextBox400021</rd:DefaultName> <Style> <Border> <Color>Green</Color> <Style>Solid</Style> </Border> <VerticalAlign>Middle</VerticalAlign> <PaddingLeft>2pt</PaddingLeft> <PaddingRight>2pt</PaddingRight> <PaddingTop>2pt</PaddingTop> <PaddingBottom>2pt</PaddingBottom> </Style> </Textbox> </CellContents> </TablixCell> <TablixCell> <CellContents> <Textbox Name="TextBox400022"> <CanGrow>true</CanGrow> <KeepTogether>true</KeepTogether> <Paragraphs> <Paragraph> <TextRuns> <TextRun> <Value>=Fields!EM00020SZHA2AccumuDisp.Value</Value> <Style> <FontStyle>Normal</FontStyle> <FontFamily>宋体</FontFamily> <FontSize>12pt</FontSize> <FontWeight>Normal</FontWeight> <TextDecoration>None</TextDecoration> </Style> </TextRun> </TextRuns> <Style> <TextAlign>Center</TextAlign> </Style> </Paragraph> </Paragraphs> <rd:DefaultName>TextBox400022</rd:DefaultName> <Style> <Border> <Color>Green</Color> <Style>Solid</Style> </Border> <VerticalAlign>Middle</VerticalAlign> <PaddingLeft>2pt</PaddingLeft> <PaddingRight>2pt</PaddingRight> <PaddingTop>2pt</PaddingTop> <PaddingBottom>2pt</PaddingBottom> </Style> </Textbox> </CellContents> </TablixCell> </TablixCells> </TablixRow> </TablixRows> </TablixBody> <TablixColumnHierarchy> <TablixMembers> <TablixMember /> <TablixMember /> <TablixMember /> <TablixMember /> <TablixMember /> </TablixMembers> </TablixColumnHierarchy> <TablixRowHierarchy> <TablixMembers> <TablixMember> <KeepWithGroup>After</KeepWithGroup> </TablixMember> <TablixMember> <KeepWithGroup>After</KeepWithGroup> </TablixMember> <TablixMember> <KeepWithGroup>After</KeepWithGroup> </TablixMember> <TablixMember> <Group Name="详细信息" /> </TablixMember> </TablixMembers> </TablixRowHierarchy> <DataSetName>DataSet1</DataSetName> <Height>2.4cm</Height> <Width>2.49999cm</Width> <Style> <Border> <Style>None</Style> </Border> </Style> </Tablix> </ReportItems> <Height>2in</Height> <Style /> </Body> <Width>6.5in</Width> <Page> <PageHeight>29.7cm</PageHeight> <PageWidth>21cm</PageWidth> <LeftMargin>2cm</LeftMargin> <RightMargin>2cm</RightMargin> <TopMargin>2cm</TopMargin> <BottomMargin>2cm</BottomMargin> <ColumnSpacing>0.13cm</ColumnSpacing> <Style /> </Page> <rd:ReportID>a4d0d1c1-dab3-4adc-ac6a-e570e452d36e</rd:ReportID> <rd:ReportUnitType>Cm</rd:ReportUnitType> </Report>
最后的显示是
---恢复内容结束---