具体使用,可参照如下
测试用列代码(声明ExcelOperate,XmlOperate是我自己写的几个通用的组件,如有需要我可发邮件给你们,其中数据我是以DataTable的形式来描述的):
|
sing System; using NUnit.Framework; using ExcelOperate; using XmlOperate; using System.Data; using System.Data.SqlClient;
namespace TestExcel { /// <summary> /// </summary> /// [TestFixture] public class ExcelExport { [Test] public void Export()//不用Excel模板的数据导出 { string Sql ="Select top 100* from customers "; //取出100条数据 ExcelFactory _factory = new ExcelFactory(); //定义一个没有参数的ExcelFactory _factory.CreateExcelwithoutTemplate("c:\\bbbbbbb.xml",GetDataTable(Sql )); //载入定义的样式文件bbbbbbb.xml和刚取出来的数据GetDataTable(Sql ) _factory.SaveExcel("c:\\bbbbbbbbbbbbbbbb.xls"); //保存导出的文件即可
} [Test] public void ExportWithTemplate()//用到了Excel模版的数据导出 { string Sql ="Select top 1* from customers "; //取出一条数据 ExcelFactory _factory = new ExcelFactory("c:\\QStandardCustomer.xls"); //导入模版QStandardCustomer.xls _factory.CreateExcel("c:\\QStandardCustomer.xml",GetDataTable(Sql )); //载入定义的样式文件QStandadrCustomer.xml和刚取出来的数据GetDataTable(Sql )
_factory.SaveExcel("c:\\Qreportstr.xls"); |
//最后保存导出的Excel文件即可
| }
private DataTable GetDataTable(string Sql) { string myConnectionString = "packet size=4096;user id=sa;data source=172.28.200.98;initial catalog=Northwind"; SqlConnection myConnection = new SqlConnection(myConnectionString); myConnection.Open(); SqlDataAdapter myAdapter = new SqlDataAdapter();
SqlCommand myCommand = new SqlCommand(Sql,myConnection); myCommand.CommandType = CommandType.Text; myAdapter.SelectCommand = myCommand; DataSet ds = new DataSet(); myAdapter.Fill(ds); myConnection.Close(); return ds.Tables[0]; } } }
|
由上面代码可见,一般的报表生成都是三句代码,即使对于报表的某些行,某些格式要调整我们也不需要在去修改程序,只要改xml描述文件即可,这样就可以使我们大大的在报表的生成上来节省时间,而可以把更多的时间放在业务逻辑的处理上了。
上一页 [1] [2]

【责编:Luzi】