using System; using System.Data; using System.Drawing; using System.Windows.Forms; using System.IO; using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; using NPOI.SS.Util; using NPOIBorderStyle = NPOI.SS.UserModel.BorderStyle; using NPOIHorizontalAlignment = NPOI.SS.UserModel.HorizontalAlignment; namespace WindowsFormsApp6 { public partial class MainForm : Form { private Form1 form1Instance; private Form2 form2Instance; private Form3 form3Instance; private System.Windows.Forms.Timer clockTimer; public MainForm() { InitializeComponent(); InitializeClockTimer(); InitializeTabControl(); InitializeEmbeddedForms(); } private void InitializeClockTimer() { clockTimer = new System.Windows.Forms.Timer(); clockTimer.Interval = 1000; clockTimer.Tick += (s, e) => label2.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); clockTimer.Start(); } private void InitializeTabControl() { tabControl1.SelectedIndexChanged += TabControl1_SelectedIndexChanged; } private void TabControl1_SelectedIndexChanged(object sender, EventArgs e) { UpdateTitleForCurrentTab(); } private void UpdateTitleForCurrentTab() { switch (tabControl1.SelectedIndex) { case 0: label1.Text = " 液体吸收时间测试报告"; break; case 1: label1.Text = " 液体吸收量测试报告"; break; case 2: label1.Text = " 液体芯吸速率测试报告"; break; } } private void InitializeEmbeddedForms() { form1Instance = new Form1(); form1Instance.TopLevel = false; form1Instance.FormBorderStyle = FormBorderStyle.None; form1Instance.Dock = DockStyle.Fill; Panel panel1 = new Panel(); panel1.Dock = DockStyle.Fill; panel1.Controls.Add(form1Instance.Controls["tableLayoutPanel1"].Controls["panel3"]); tabPage1.Controls.Add(panel1); form1Instance.Show(); form2Instance = new Form2(); form2Instance.TopLevel = false; form2Instance.FormBorderStyle = FormBorderStyle.None; form2Instance.Dock = DockStyle.Fill; Panel panel2 = new Panel(); panel2.Dock = DockStyle.Fill; panel2.Controls.Add(form2Instance.Controls["tableLayoutPanel1"].Controls["panel3"]); tabPage2.Controls.Add(panel2); form2Instance.Show(); form3Instance = new Form3(); form3Instance.TopLevel = false; form3Instance.FormBorderStyle = FormBorderStyle.None; form3Instance.Dock = DockStyle.Fill; Panel panel3 = new Panel(); panel3.Dock = DockStyle.Fill; panel3.Controls.Add(form3Instance.Controls["tableLayoutPanel1"].Controls["panel3"]); tabPage3.Controls.Add(panel3); form3Instance.Show(); } private void buttonPrint_Click(object sender, EventArgs e) { MessageBox.Show("打印功能开发中", "提示"); } private void buttonExport_Click(object sender, EventArgs e) { SaveFileDialog saveFileDialog = new SaveFileDialog { Filter = "Excel 文件 (*.xlsx)|*.xlsx", FileName = $"测试报告_{DateTime.Now:yyyyMMdd_HHmmss}", Title = "导出整合报告" }; if (saveFileDialog.ShowDialog() == DialogResult.OK) { ExportIntegratedReport(saveFileDialog.FileName); } } private void button5_Click(object sender, EventArgs e) { switch (tabControl1.SelectedIndex) { case 0: form1Instance.GenerateMockData(); break; case 1: form2Instance.GenerateMockData(); break; case 2: form3Instance.GenerateMockData(); break; } } private void ExportIntegratedReport(string filePath) { try { IWorkbook workbook = new XSSFWorkbook(); CreateForm1Sheet(workbook); CreateForm2Sheet(workbook); CreateForm3Sheet(workbook); using (FileStream fs = new FileStream(filePath, FileMode.Create, FileAccess.Write)) { workbook.Write(fs); } MessageBox.Show($"导出成功:{filePath}", "成功"); } catch (Exception ex) { MessageBox.Show($"导出失败:{ex.Message}", "错误"); } } private void MainForm_FormClosing(object sender, FormClosingEventArgs e) { clockTimer?.Stop(); clockTimer?.Dispose(); Application.Exit(); } private void CreateForm1Sheet(IWorkbook workbook) { } private void CreateForm2Sheet(IWorkbook workbook) { } private void CreateForm3Sheet(IWorkbook workbook) { } } }