高分求助?
Excel.Application excel;
Excel.Worksheet xSt;
Excel._Workbook xBk;
excel = new Excel.ApplicationClass();
xBk = excel.Workbooks.Add(true);
string mb_id,SqlMblb,SqldgData;
jl_id = Session["Project_id"].ToString();
dv = ( DataView ) Session["mydv"];
xSt = (Excel.Worksheet) xBk.Worksheets.Add( Missing.Value,Missing.Value,1,Missing.Value );
mb_value = "";
mb_id = dv[i]["mb_id"].ToString().Trim();
SqlMblb ="select mb_value,mblb_id from mb where mb_id="+mb_id;
SqlCommand mySQL = new SqlCommand( SqlMblb,myConn );
myConn.Open();
SqlDataReader mySDR = mySQL.ExecuteReader();
while ( mySDR.Read() )
{
mb_value = mySDR["mb_value"].ToString();
}
mySDR.Close();
XmlMap XM;
xBk.XmlImportXml( mb_value,out XM,true,"A1" );
xBk.SaveAs("c:\\我的实 验.xls",Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,XlSaveAsAccessMode.xlShared,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value );
myConn.Close();
mb_value变量里的数据是这样的:
<?xml version='1.0'?>
<?xml-stylesheet type='text/xsl' href='customers.xsl'?>
<NewDataSet>
<Table>
<CustomerID>ALFKI</CustomerID>
<CompanyName>Alfreds Futterkiste</CompanyName>
<ContactName>Maria Anders</ContactName>
<Country>Germany</Country>
<Phone>030-0074321</Phone>
</Table>
<Table>
<CustomerID>ANATR</CustomerID
><CompanyName>Ana Trujillo Emparedados y helados</CompanyName>
<ContactName>Ana Trujillo</ContactName>
<Country>Mexico</Country>
<Phone>(5) 555-4729</Phone>
</Table>
<Table>
<CustomerID>ANTON</CustomerID>
<CompanyName>Antonio Moreno Taquería</CompanyName>
<ContactName>Antonio Moreno</ContactName>
<Country>Mexico</Country>
<Phone>(5) 555-3932</Phone>
</Table>
</NewDataSet>
可是上面的语句在执行的时候总是会提示“文档顶层存在无效内容”,这是怎么回事呀?
大伙看看这个东西有没有其他的做法:
报表的结构是用XML的形式存在Sql server的数据库中,报表的值存在另外的数据表中,现在要把报表的结构和相关的值提取出来,以方便批量打印。我的相法是把这些报表批量导入到Excel里去,然后再实施打印,在这个过程中碰到了很多问题,至此还没解决。
现高分征求解决方案,希望在大家的帮助下尽快的搞定这个问题。