Il s'avère que le programme utilise Word et Excel pour effectuer certaines opérations d'exportation de données et d'impression. Cependant, après un certain temps d'exécution, il a été constaté qu'il y avait toujours des problèmes avec Office installé sur les ordinateurs de certains utilisateurs. , et ils ont dû être réinstallés et ajustés, ce qui a entraîné des travaux de maintenance supplémentaires.
Voici une simple tentative d'utiliser FastReport au lieu d'Office pour générer certaines données qui doivent être exportées sous la forme d'un rapport. Si nécessaire, elles peuvent être enregistrées au format Excel, ce qui peut réduire certains problèmes inutiles. .
Les informations de connexion sont extraites du rapport dans le programme pour éviter l'insécurité du fichier de rapport. De plus, ces informations de connexion peuvent être incluses séparément dans le fichier de configuration.
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; namespace 测试FastReport { public partial class Form1 : Form { private DataSet data; public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { string conStr = "Server='127.0.0.1';Initial catalog=WaiMaoJinKou;UID='sa';PWD='12345';Max Pool Size=512;"; try { SqlConnection con = new SqlConnection(conStr); con.Open(); SqlCommand sqlcmd = new SqlCommand(); sqlcmd.Connection = con; sqlcmd.CommandText = @"SELECT * FROM [Event] "; SqlDataAdapter sda = new SqlDataAdapter(sqlcmd); data = new DataSet(); sda.Fill(data); con.Close(); sda.Dispose(); } catch (Exception err) { MessageBox.Show(err.StackTrace); } try { FastReport.Report report = new FastReport.Report(); //string filename = Application.StartupPath + @"\FrxReport\qualityEvent.frx"; string filename = @"D:\qualityEvent.frx"; report.Load(filename); report.RegisterData(data); report.GetDataSource(data.Tables[0].TableName).Enabled = true; report.Show(); } catch (Exception err) { MessageBox.Show(err.Message); } } } }
Essayé plusieurs fois et utilisé uniquement FastReport. ne sera pas reconnu avant Net4.0, le projet développé doit donc également être réinitialisé et le package framework .Net4.0 réinstallé.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!