1、首先引用
2、fastreport设计好
左边这些可以点击configure来进行添加,然后主要是Data,是用来滚动添加的,既是用来放DateTable数据的,其他的话可以通过
name来赋值
3、弄好后就到c#代码了
string sql = "select * from middle";
DataTable dt = dal.GetSqlTable(sql); //自己获取需要滚动生成的数据
if (dt.Rows.Count > 0)
{
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "Excel文件(*.xlsx)|*.xlsx";
sfd.FilterIndex = 1;
sfd.RestoreDirectory = true;
FReport = new Report();
string path = Environment.CurrentDirectory;
path =path+"\\resources\\送货单2.frx"; //这是你的frx路径,自己debug弄吧
FReport.Load(path);
// 这部分是不需要动态的,所以直接绑定cell
FReport.SetParameterValue("sendcompany", label71.Text);
FReport.SetParameterValue("sendorder", label72.Text);
///
FReport.RegisterData(dt, "dt");
DataBand databand = FReport.FindObject("Data1") as DataBand;
databand.DataSource = FReport.GetDataSource("dt");
FReport.Prepare();
// FReport.Print();
//点了保存按钮进入
if (sfd.ShowDialog() == DialogResult.OK)
{
string localFilePath = sfd.FileName.ToString(); //获得文件路径
using (var export = new FastReport.Export.OoXML.Excel2007Export())
{
export.ShowProgress = true;
if (export.ShowDialog())
{
export.Export(FReport, localFilePath);
if (localFilePath == "")
{
localFilePath = @"F:\桌面\ss.xlsx";
}
MessageBox.Show("保存成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
}
}
else
{
MessageBox.Show("订单信息不存在,请检查", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
如果你只是用了datetable的,这个时候已经可以用了,但是如果是还用了绑定cell的,则还需要再vs打开那个frx文件
打开是这样,加入代码
private void Page1_StartPage(object sender, EventArgs e)
{
string sendcompany =Report.GetParameterValue("sendcompany")==null?"":(string)Report.GetParameterValue("sendcompany");
Cell2.Text=sendcompany;
string sendorder =Report.GetParameterValue("sendorder")==null?"":(string)Report.GetParameterValue("sendorder");
Cell35.Text=sendorder;
}
这样就ok了