不安装excel使用c#创建excel文件

代码如下:

//创建excel
object missing = System.Reflection.Missing.Value;
Excel.Application app = new Excel.Application();
app.Application.Workbooks.Add(true);
Excel.Workbook book = (Excel.Workbook)app.ActiveWorkbook;
Excel.Worksheet sheet = (Excel.Worksheet)book.ActiveSheet;

#region 第一行
sheet.Cells[1, 1] = "登录名(loginID)";
sheet.Cells[1, 2] = "密码(passWord)";
sheet.Cells[1, 3] = "姓(familyName)";
sheet.Cells[1, 4] = "名(firstName)";
sheet.Cells[1, 5] = "性别(gender)";
sheet.Cells[1, 6] = "出生时间(dateofBirth)";
sheet.Cells[1, 7] = "手机号(cellphoneNum)";
sheet.Cells[1, 8] = "身份证号(identityID)";
sheet.Cells[1, 9] = "就职状态(jobStatus)";
sheet.Cells[1, 10] = "公司电话(telephoneNum)";
sheet.Cells[1, 11] = "邮箱(email)";
sheet.Cells[1, 12] = "祖籍(nativeHome)";
sheet.Cells[1, 13] = "毕业学校(graduateSchool)";
sheet.Cells[1, 14] = "专业(major)";
sheet.Cells[1, 15] = "毕业时间(graduateTime)";
sheet.Cells[1, 16] = "学历(education)";
sheet.Cells[1, 17] = "邮编(zipCode)";
sheet.Cells[1, 18] = "地址(address)";
sheet.Cells[1, 19] = "入职时间(entryTime)";
sheet.Cells[1, 20] = "离开时间(leaveTime)";
sheet.Cells[1, 21] = "备注(remarks)";
sheet.Cells[1, 22] = "部门(departmentID)";
sheet.Cells[1, 23] = "职位(JobTypeID";
#endregion

#region 循环写入内容
int count = 1;
foreach (EmployeeInfo_tbl item in enterpriseInfo.Employees)
{
count = count+1;
sheet.Cells[count, 1] = item.loginID;
sheet.Cells[count, 2] = item.passWord;
sheet.Cells[count, 3] = item.familyName;//"姓(familyName)";
sheet.Cells[count, 4] = item.firstName; //"名(firstName)";
sheet.Cells[count, 5] = item.gender; //"性别(gender)";
sheet.Cells[count, 6] = item.dateofBirth; //"出生时间(dateofBirth)";
sheet.Cells[count, 7] = item.cellphoneNum;//"手机号(cellphoneNum)";
sheet.Cells[count, 8] = item.identityID;//"身份证号(identityID)";
sheet.Cells[count, 9] = item.jobStatus;//"就职状态(jobStatus)";
sheet.Cells[count, 10] = item.telephoneNum;//"公司电话(telephoneNum)";
sheet.Cells[count, 11] = item.email;//"邮箱(email)";
sheet.Cells[count, 12] = item.nativeHome;//"祖籍(nativeHome)";
sheet.Cells[count, 13] = item.graduateSchool;// "毕业学校(graduateSchool)";
sheet.Cells[count, 14] = item.major;// "专业(major)";
sheet.Cells[count, 15] = item.graduateTime;//"毕业时间(graduateTime)";
sheet.Cells[count, 16] = item.education;// "学历(education)";
sheet.Cells[count, 17] = item.zipCode;// "邮编(zipCode)";
sheet.Cells[count, 18] = item.address;//"地址(address)";
sheet.Cells[count, 19] = item.entryTime;//"入职时间(entryTime)";
sheet.Cells[count, 20] = item.leaveTime;// "离开时间(leaveTime)";
sheet.Cells[count, 21] = item.remarks;// "备注(remarks)";
sheet.Cells[count, 22] = item.Department.departmentName;// "部门(departmentID)";
sheet.Cells[count, 23] = item.JobType.jobName;// "职位(JobTypeID";
}
#endregion
//保存
//book.SaveCopyAs(_FolderBrowserDialog.SelectedPath + @"\test.xls");
//关闭文件
//book.Close(false, missing, missing);
//退出excel
//app.Quit();

需要引用com里的Microsoft Excel 14.0 Object Libary(其它版本方法大致相同)

当然就意味着做这件事情就必须安装office Excel,

如果需要饶过office Excel那么就看我最后的实现方法吧~!

我最后的实现是使用的第三方Aspose.Cells.dll

具了解这个dll一直免费,(第三方有风险,使用需谨慎)

代码如下:

//创建excel
Aspose.Cells.Workbook workbook = new Aspose.Cells.Workbook();
Aspose.Cells.Worksheet sheet = workbook.Worksheets[0];
sheet.FreezePanes(1, 1, 1, 0);//冻结第一行

#region 第一行
sheet.Cells["A1"].PutValue("登录名(loginID)");
sheet.Cells["B1"].PutValue("密码(passWord)");
sheet.Cells["C1"].PutValue("姓(familyName)");
sheet.Cells["D1"].PutValue("名(firstName)");
sheet.Cells["E1"].PutValue("性别(gender)");
sheet.Cells["F1"].PutValue("出生时间(dateofBirth)");
sheet.Cells["G1"].PutValue("手机号(cellphoneNum)");
sheet.Cells["H1"].PutValue("身份证号(identityID)");
sheet.Cells["I1"].PutValue("就职状态(jobStatus)");
sheet.Cells["J1"].PutValue("公司电话(telephoneNum)");
sheet.Cells["K1"].PutValue("邮箱(email)");
sheet.Cells["L1"].PutValue("祖籍(nativeHome)");
sheet.Cells["M1"].PutValue("毕业学校(graduateSchool)");
sheet.Cells["N1"].PutValue("专业(major)");
sheet.Cells["O1"].PutValue("毕业时间(graduateTime)");
sheet.Cells["P1"].PutValue("学历(education)");
sheet.Cells["Q1"].PutValue("邮编(zipCode)");
sheet.Cells["R1"].PutValue("地址(address)");
sheet.Cells["S1"].PutValue("入职时间(entryTime)");
sheet.Cells["T1"].PutValue("离开时间(leaveTime)");
sheet.Cells["U1"].PutValue("备注(remarks)");
sheet.Cells["V1"].PutValue("部门(departmentID)");
sheet.Cells["W1"].PutValue("职位(JobTypeID");
#endregion

#region 循环写入内容
int count = 1;
foreach (EmployeeInfo_tbl item in enterpriseInfo.Employees)
{
 count = count + 1;
 sheet.Cells["A" + count].PutValue(item.loginID);
 sheet.Cells["B" + count].PutValue(item.passWord);
 sheet.Cells["C" + count].PutValue(item.familyName);//"姓(familyName)";
 sheet.Cells["D" + count].PutValue(item.firstName); //"名(firstName)";
 sheet.Cells["E" + count].PutValue(item.gender == 0 ? "女" : "男"); //"性别(gender)";
 sheet.Cells["F" + count].PutValue(item.dateofBirth.ToString() == "" ? null : item.dateofBirth.ToString()); //"出生时间(dateofBirth)";
 sheet.Cells["G" + count].PutValue(item.cellphoneNum.ToString());//"手机号(cellphoneNum)";
 sheet.Cells["H" + count].PutValue(item.identityID);//"身份证号(identityID)";
 sheet.Cells["I" + count].PutValue(item.jobStatus == 1 ? "在职" : "离职");//"就职状态(jobStatus)";
 sheet.Cells["J" + count].PutValue(item.telephoneNum);//"公司电话(telephoneNum)";
 sheet.Cells["K" + count].PutValue(item.email);//"邮箱(email)";
 sheet.Cells["L" + count].PutValue(item.nativeHome);//"祖籍(nativeHome)";
 sheet.Cells["M" + count].PutValue(item.graduateSchool);// "毕业学校(graduateSchool)";
 sheet.Cells["N" + count].PutValue(item.major);// "专业(major)";
 sheet.Cells["O" + count].PutValue(item.graduateTime.ToString() == "" ? null : item.graduateTime.ToString());//"毕业时间(graduateTime)";
 string ed = "";
 switch (item.education)
 {
  case 1:
ed = "初中/小学";
break;
  case 2:
ed = "高中/中专";
break;
  case 3:
ed = "本科/专科";
break;
  case 4:
ed = "研究生以上";
break;
  default:
ed = null;
break;
 }
 sheet.Cells["P" + count].PutValue(ed);// "学历(education)";
 sheet.Cells["Q" + count].PutValue(item.zipCode);// "邮编(zipCode)";
 sheet.Cells["R" + count].PutValue(item.address);//"地址(address)";
 sheet.Cells["S" + count].PutValue(item.entryTime.ToString() == "" ? null : item.entryTime.ToString());//"入职时间(entryTime)";
 sheet.Cells["T" + count].PutValue(item.leaveTime.ToString() == "" ? null : item.leaveTime.ToString());// "离开时间(leaveTime)";
 sheet.Cells["U" + count].PutValue(item.remarks);// "备注(remarks)";
 sheet.Cells["V" + count].PutValue(item.Department.departmentName);// "部门(departmentID)";
 sheet.Cells["W" + count].PutValue(item.JobType.jobName);// "职位(JobTypeID";
}
#endregion

//保存
workbook.Save(_FolderBrowserDialog.SelectedPath + @"\test.xls");

(0)

相关推荐

  • C#基于NPOI生成具有精确列宽行高的Excel文件的方法

    本文实例讲述了C#基于NPOI生成具有精确列宽行高的Excel文件的方法,是非常具有实用价值的技巧分享给大家供大家参考.具体方法如下:. 一.前言 NPOI是操作Excel的神器,导出导入快如闪电, 但是SetColumnWidth函数个人感觉不会用,怎么弄都无法控制好,因为他是以字符数量去设置宽度,实际上Excel列宽还有个像素的概念,更难搞懂了. //附带SetColumnWidth的用法和注释 IWorkbook hssfworkbook = new HSSFWorkbook(); ISh

  • C#实现Excel导入sqlite的方法

    本文实例讲述了C#实现Excel导入sqlite的方法,是非常实用的技巧.分享给大家供大家参考.具体方法如下: 首先需要引用system.date.sqlite 具体实现代码如下: system.date.sqlite system.date.sqlite.linq //导入--Excel导入sqlite private void button2_Click(object sender, EventArgs e) { DAL.Sqlite da = new DAL.Sqlite("DataByE

  • WinForm项目开发中NPOI用法实例解析

    本文实例展示了WinForm项目开发中NPOI用法,对于C#初学者有一定的借鉴价值.具体实例如下: private void ExportMergeExcel() { if (File.Exists(templateXlsPath)) { int i = 4, _recordNo = 1; using (FileStream file = new FileStream(templateXlsPath, FileMode.Open, FileAccess.Read)) { HSSFWorkbook

  • asp.net使用npoi读取excel模板并导出下载详解

    为什么要使用NPOI导出Excel? 一.解决传统操作Excel遇到的问题: 如果是.NET,需要在服务器端装Office,且及时更新它,以防漏洞,还需要设定权限允许.NET访问COM+,如果在导出过程中出问题可能导致服务器宕机.Excel会把只包含数字的列进行类型转换,本来是文本型的,Excel会将其转成数值型的,比如编号000123会变成123.导出时,如果字段内容以"-"或"="开头,Excel会把它当成公式进行,会报错.Excel会根据Excel文件前8行分

  • c#读取excel内容内容示例分享

    1.Excel 需是.xls 格式2.添加引用Microsoft.Office.Interop.Excel.dll 复制代码 代码如下: using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Data.OleDb;using Excel = Microsoft.Office.Interop.Excel;using System

  • C#利用XML创建Excel文档的实现方法

    一般来说C#在不安装Excel软件的情况下,可以通过XML来创建Excel文档.因此,运行本文所述代码您无需安装Excel程序.本文原例子是使用VB.Net写的,以下的用C#改写的代码,分享给大家,供大家参考. 具体代码如下: DataSet mDSData = new DataSet(); mDSData.Tables.Add("myTable"); mDSData.Tables["myTable"].Columns.Add("ID"); mD

  • C#连接Excel驱动与示例代码分享

    代码如下: 复制代码 代码如下: string fileExt = Path.GetExtension(excelPath);            string conn = "";            if (fileExt == ".xls")            {                conn = "Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source =" + excelPat

  • NPOINT免费虚拟主机管理系统windows2003的安装方法【图文】第1/2页

    NPOINT虚拟主机管理系统下载地址http://www.jb51.net/softs/2219.html 注: 使用 SERV-U FTP软件的用户 安装方法 只要 第一步 至 第八步 就可以了.第一步:注册组件 复制npointdll文件夹到C盘根目录,然后点"开始"-"运行",输入:regsvr32 c:\npointdll\npoint.dll  系统提示: 表示注册成功 第二步:配置运行帐户 新建一个系统帐户(如:npointhost),并设置该帐户属于&

  • Asp.Net使用Npoi导入导出Excel的方法

    asp.net针对Excel文件的导入与导出是非常常见的功能之一.本文实例讲述了Asp.Net使用Npoi导入导出Excel的方法.分享给大家供大家参考之用.具体方法如下: 在使用Npoi导出Excel的时候,服务器可以不装任何office组件,一般在导出时用到Npoi导出Excel文件,所导Excel也符合规范,打开时也不会有任何文件损坏之类的提示.但是在做导入时还是使用OleDb的方式,这种方式的导入在服务器端似乎还是需要装office组件的. 一.Npoi导出/下载Excel 具体功能代码

  • C#将Sql数据保存到Excel文件中的方法

    本文实例讲述了C#将Sql数据保存到Excel文件中的方法,非常有实用价值.分享给大家供大家参考借鉴之用. 具体功能代码如下: public string ExportExcel( DataSet ds,string saveFileName) { try { if (ds == null) return "数据库为空"; bool fileSaved = false; Microsoft.Office.Interop.Excel.Application xlApp = new Mic

  • 使用Npoi操作excel的解决办法

    Npoi 简介-------------------------------------------------------------------------------- 1.整个Excel表格叫做工作表:WorkBook(工作薄),包含的叫页(工作表):Sheet:行:Row:单元格Cell. 2.Npoi 下载地址:http://npoi.codeplex.com/releases/view/38113 4.忘了告诉大家npoi是做什么的了,npoi 能够读写几乎所有的Office 97

  • 用NPOI创建Excel、合并单元格、设置单元格样式、边框的方法

    今天在做项目中,遇到使用代码生成具有一定样式的Excel,找了很多资料,最后终于解决了,Excel中格式的设置,以及单元格的合并等等.下面就介绍下,使用NPOI类库操作Excel的方法. 1.首先我们先在内存中生成一个Excel文件,代码如下:   HSSFWorkbook book = new HSSFWorkbook();        ISheet sheet = book.CreateSheet("Sheet1"); 2.然后在新创建的sheet里面,创建我们的行和列,代码如下

  • npoi2.0将datatable对象转换为excel2007示例

    NPOI 2.0将DataTable对象转换为Excel 2007文件提供下载 复制代码 代码如下: using NPOI.SS.UserModel;using NPOI.XSSF.UserModel;using System.IO;        private Stream RenderDataTableToExcel(DataTable SourceTable)        {            XSSFWorkbook workbook = null;            Mem

  • C#导入导出EXCEL文件的代码实例

    复制代码 代码如下: using System;using System.Data;using System.Data.OleDb; namespace ZFSoft.Joint{    public class ExcelIO    {        private int _ReturnStatus;        private string _ReturnMessage; /// <summary>        /// 执行返回状态        /// </summary&g

随机推荐