C#操作EXCEL

本文介绍了一种使用Microsoft.Office.Interop.Excel.dll来创建并填充Excel文件的方法。通过C#代码实现自动化生成Excel文档,包括设置标题、数据及保存路径等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用Microsoft.Office.Interop.Excel.dll生成Excel文件:
  1 public class CreateExcel
  2     {
  3         private static Microsoft.Office.Interop.Excel.Application app = null;
  4 
  5         private static Microsoft.Office.Interop.Excel.Workbook workbook = null;
  6 
  7         private static Microsoft.Office.Interop.Excel.Worksheet worksheet = null;
  8 
  9         private static Microsoft.Office.Interop.Excel.Range workSheet_range = null;
 10                     
 11         /// <summary>
 12         /// 新建Excel文件
 13         /// </summary>
 14         /// <param name="dataheader">添加Excel标题表(字段1:英文说明,字段二:中文说明</param>
 15         /// <param name="dataitem">添加Excel数据表</param>
 16         /// <param name="filepath">保存Excel文件物理路径</param>
 17         public static void CreateNewExcel(DataTable dataheader, DataTable dataitem, string filepath)
 18         {
 19             //新建Excel文件
 20 
 21             app = new Microsoft.Office.Interop.Excel.Application();
 22 
 23             app.Visible = true;
 24 
 25             workbook = app.Workbooks.Add(1);//创建workbook 
 26 
 27             worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Sheets[1];//创建worksheet 
 28 
 29             //向Excel中添加标题,第一行为英文说明,第二行为中文说明
 30 
 31              if(dataheader!=null){
 32               for (int i = 0; i < dataheader.Rows.Count; i++)
 33               {
 34                   AddExcelData(1, i + 1, dataheader.Rows[i][0].ToString(), "@", BackColumnName((i + 1).ToString()) + "1", BackColumnName((i + 1).ToString()) + "1");
 35               }
 36 
 37               for (int i = 0; i < dataheader.Rows.Count; i++)
 38               {
 39                   AddExcelData(2, i + 1, dataheader.Rows[i][1].ToString(), "@", BackColumnName((i + 1).ToString()) + "2", BackColumnName((i + 1).ToString()) + "2");
 40               }
 41            }
 42 
 43 
 44             //向Excel中添加数据,数据从第三行开始
 45 
 46             if (dataitem != null)
 47             {
 48                 for (int i = 2; i < dataitem.Rows.Count; i++)
 49                 {
 50                     for (int j = 0; j < dataitem.Columns.Count; j++)
 51                     {
 52                         AddExcelData(i + 1, j + 1, dataitem.Rows[i][j].ToString(), "@", BackColumnName((j + 1).ToString()) + (i + 1).ToString(), BackColumnName((j + 1).ToString()) + (i + 1).ToString());
 53                     }
 54                 }
 55             }
 56 
 57             //保存Excel文件
 58 
 59             workbook.SaveCopyAs(filepath);
 60 
 61             app.Quit();
 62         }
 63 
 64         /// <summary>
 65         /// 向Excel中添加数据
 66         /// </summary>
 67         /// <param name="row">行号</param>
 68         /// <param name="col">列号</param>
 69         /// <param name="data">数据</param>
 70         /// <param name="format">单元格格式</param>
 71         /// <param name="cell1">范围开始格</param>
 72         /// <param name="cell2">范围结束格</param>
 73         public static void AddExcelData(int row, int col, string data, string format, string cell1, string cell2)
 74         {
 75             worksheet.Cells[row, col] = data;
 76 
 77             workSheet_range = worksheet.get_Range(cell1, cell2);
 78 
 79             workSheet_range.Borders.Color = System.Drawing.Color.Black.ToArgb();
 80 
 81             workSheet_range.NumberFormat = format;
 82         }
 83 
 84         /// <summary>
 85         /// 返回Excel列标识
 86         /// </summary>
 87         /// <param name="code">列号</param>
 88         /// <returns>返回列标识</returns>
 89         public static string BackColumnName(string code)
 90         {
 91             string resvalue = "";
 92 
 93             string columnlist = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
 94 
 95             #region
 96 
 97             DataTable columntable = new DataTable();
 98 
 99             columntable.Columns.Add("code");
100 
101             columntable.Columns.Add("name");
102 
103             for (int i = 0; i < 256; i++)
104             {
105                 if (i < columnlist.Length)
106                 {
107                     DataRow row = columntable.NewRow();
108 
109                     row["code"] = (i + 1).ToString().Trim();
110 
111                     row["name"] = columnlist[i].ToString().Trim();
112 
113                     columntable.Rows.Add(row);
114                 }
115                 else
116                 {
117                     for (int j = 0; j < columnlist.Length; j++)
118                     {
119                         for (int k = 0; k < columnlist.Length; k++)
120                         {
121                             if (i < 256)
122                             {
123                                 DataRow row = columntable.NewRow();
124 
125                                 row["code"] = (i + 1).ToString().Trim();
126 
127                                 row["name"] = columnlist[j].ToString().Trim() + columnlist[k].ToString().Trim();
128 
129                                 columntable.Rows.Add(row);
130                             }
131 
132                             i++;
133                         }
134                     }
135                 }
136             }
137 
138             #endregion
139 
140             for (int i = 0; i < columntable.Rows.Count; i++)
141             {
142                 if (columntable.Rows[i][0].ToString().Trim() == code.Trim())
143                 {
144                     resvalue = columntable.Rows[i][1].ToString().Trim();
145                 }
146             }
147 
148             return resvalue;
149         }
150     }

 

标题基于SpringBoot+Vue的社区便民服务平台研究AI更换标题第1章引言介绍社区便民服务平台的研究背景、意义,以及基于SpringBoot+Vue技术的研究现状和创新点。1.1研究背景与意义分析社区便民服务的重要性,以及SpringBoot+Vue技术在平台建设中的优势。1.2国内外研究现状概述国内外在社区便民服务平台方面的发展现状。1.3研究方法与创新点阐述本文采用的研究方法和在SpringBoot+Vue技术应用上的创新之处。第2章相关理论介绍SpringBoot和Vue的相关理论基础,以及它们在社区便民服务平台中的应用。2.1SpringBoot技术概述解释SpringBoot的基本概念、特点及其在便民服务平台中的应用价值。2.2Vue技术概述阐述Vue的核心思想、技术特性及其在前端界面开发中的优势。2.3SpringBoot与Vue的整合应用探讨SpringBoot与Vue如何有效整合,以提升社区便民服务平台的性能。第3章平台需求分析与设计分析社区便民服务平台的需求,并基于SpringBoot+Vue技术进行平台设计。3.1需求分析明确平台需满足的功能需求和性能需求。3.2架构设计设计平台的整体架构,包括前后端分离、模块化设计等思想。3.3数据库设计根据平台需求设计合理的数据库结构,包括数据表、字段等。第4章平台实现与关键技术详细阐述基于SpringBoot+Vue的社区便民服务平台的实现过程及关键技术。4.1后端服务实现使用SpringBoot实现后端服务,包括用户管理、服务管理等核心功能。4.2前端界面实现采用Vue技术实现前端界面,提供友好的用户交互体验。4.3前后端交互技术探讨前后端数据交互的方式,如RESTful API、WebSocket等。第5章平台测试与优化对实现的社区便民服务平台进行全面测试,并针对问题进行优化。5.1测试环境与工具介绍测试
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值