导出Excel

private void ExportExcel()
    {
        //创建一个 Excel 实例
        Application excel = new Application();
        try
        {
            excel.Visible = false;// 不显示 Excel 文件,如果为 true 则显示 Excel 文件
            excel.Workbooks.Add(Missing.Value);// 添加工作簿
            Worksheet sheet = (Worksheet)excel.ActiveSheet;// 获取当前工作表
            Range range = null;// 创建一个空的单元格对象
            sheet.get_Range(sheet.Cells[29, 2], sheet.Cells[29, 2]).Orientation = XlOrientation.xlVertical;//设置29行第2个单元格的字体竖直居中在单元格内
            range = sheet.get_Range("A1", Missing.Value);// 获取单个单元格
            range.RowHeight = 20;           // 设置行高
            range.ColumnWidth = 20;         // 设置列宽
            range.Borders.LineStyle = 1;    // 设置单元格边框
            range.Font.Bold = true;         // 加粗字体
            range.Font.Size = 20;           // 设置字体大小             
            range.Font.ColorIndex = 5;// 设置字体颜色 1:黑色;2:白色;3:红色;4:绿色;5:蓝色         
            range.Interior.ColorIndex = 6;  // 设置单元格背景色
            range.Interior.ColorIndex = 6;  // 设置单元格背景色
            range.HorizontalAlignment = XlHAlign.xlHAlignCenter;// 设置单元格水平居中
            range.VerticalAlignment = XlVAlign.xlVAlignCenter;// 设置单元格垂直居中
            range.Value2 = "设置行高和列宽";// 设置单元格的值

            range = sheet.get_Range("B2", "D4");// 获取多个单元格
            range.Merge(Missing.Value);         // 合并单元格
            range.Columns.AutoFit();            // 设置列宽为自动适应
            range.NumberFormatLocal = "#,##0.00";// 设置单元格格式为货币格式
            // 设置单元格左边框加粗
            range.Borders[XlBordersIndex.xlEdgeLeft].Weight = XlBorderWeight.xlThick;
            // 设置单元格右边框加粗
            range.Borders[XlBordersIndex.xlEdgeRight].Weight = XlBorderWeight.xlThick;
            range.Value2 = "合并单元格";
            range = sheet.get_Range("A1", "C15");// 获取多个单元格
            range.Cells.Borders.LineStyle = 1;//设置全边框


            // 页面设置
            sheet.PageSetup.PaperSize = XlPaperSize.xlPaperA4;          // 设置页面大小为A4
            sheet.PageSetup.Orientation = XlPageOrientation.xlPortrait; // 设置垂直版面
            sheet.PageSetup.HeaderMargin = 0.0;                         // 设置页眉边距
            sheet.PageSetup.FooterMargin = 0.0;                         // 设置页脚边距
            sheet.PageSetup.LeftMargin = excel.InchesToPoints(0.354330708661417); // 设置左边距
            sheet.PageSetup.RightMargin = excel.InchesToPoints(0.354330708661417);// 设置右边距
            sheet.PageSetup.TopMargin = excel.InchesToPoints(0.393700787401575);  // 设置上边距
            sheet.PageSetup.BottomMargin = excel.InchesToPoints(0.393700787401575);// 设置下边距
            sheet.PageSetup.CenterHorizontally = true;                  // 设置水平居中


            // 如需打印文件
            //   sheet.PrintOut(Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);


            // 保存文件到程序运行目录下

            sheet.SaveAs("D:\\hope.xls", Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
            excel.ActiveWorkbook.Close(false, null, null); // 关闭 Excel 文件且不保存
            //MessageBox.Show("生成成功!");
        }
        catch (Exception ex)
        {
            // MessageBox.Show(ex.Message);
        }

    }

基于Swin Transformer与ASPP模块的图像分类系统设计与实现 本文介绍了一种结合Swin Transformer与空洞空间金字塔池化(ASPP)模块的高效图像分类系统。该系统通过融合Transformer的全局建模能力和ASPP的多尺度特征提取优势,显著提升了模型在复杂场景下的分类性能。 模型架构创新 系统核心采用Swin Transformer作为骨干网络,其层次化窗口注意力机制能高效捕获长距离依赖关系。在特征提取阶段,创新性地引入ASPP模块,通过并行空洞卷积(膨胀率6/12/18)和全局平均池化分支,实现多尺度上下文信息融合。ASPP输出经1x1卷积降维后与原始特征拼接,有效增强了模型对物体尺寸变化的鲁棒性。 训练优化策略 训练流程采用Adam优化器(学习率0.0001)和交叉熵损失函数,支持多GPU并行训练。系统实现了完整的评估指标体系,包括准确率、精确率、召回率、特异度和F1分数等6项指标,并通过动态曲线可视化模块实时监控训练过程。采用早停机制保存最佳模型,验证集准确率提升可达3.2%。 工程实现亮点 1. 模块化设计:分离数据加载、模型构建和训练流程,支持快速迭代 2. 自动化评估:每轮训练自动生成指标报告和可视化曲线 3. 设备自适应:智能检测CUDA可用性,无缝切换训练设备 4. 中文支持:优化可视化界面的中文显示与负号渲染 实验表明,该系统在224×224分辨率图像分类任务中,仅需2个epoch即可达到92%以上的验证准确率。ASPP模块的引入使小目标识别准确率提升15%,特别适用于医疗影像等需要细粒度分类的场景。未来可通过轻量化改造进一步优化推理速度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值