C#winform 如何导出一定格式的excel啊?

C#winform 如何导出一定格式的excel啊?,第1张

1.右击解决方案的老昌引用,添加.NET中Microsoft.Office.Interop.Excel的引用;

2.在代码头添加using Microsoft.Office.Interop.Excel

3.在函数中添茄禅加如下代码:

//创建

Microsoft.Office.Interop.Excel.Application excel1 = new Microsoft.Office.Interop.Excel.Application()

Workbook workbook1 = excel1.Workbooks.Add(true)

Worksheet worksheet1 = (Worksheet)workbook1.Worksheets["sheet1"]

//写入

worksheet1.Cells[1, 1] = "航班号"

worksheet1.Cells[1, 2] = "起飞地点"

worksheet1.Cells[1, 3] = "降落地点"

//显示颤含尘

excel1.Visible = true

Console.ReadLine()

//保存文件

workbook1.Close(true, "d:\\1.xls", null)

楼上导出的只是普通文本格罩镇式不是真正的excel文件,物旦粗导出excel文件需要引用excel组件,在你的项目bin目录中右键选择引用找到类似Interop.Microsoft.Office.Interop.Excel.dll的文件引入进去,然后调用相关函数就可以了以下代码是我从我的项目中扣出来的,请自己改一下相关数据。usingMicrosoft.Office.Interop.ExcelGC.Collect()Applicationexcel_WorkbookxBk_WorksheetxStexcel=newApplicationClass()xBk=excel.Workbooks.Add(true)xSt=(_Worksheet)xBk.ActiveSheet////设置标题////设置标题excel.Cells[1,1]="姓名"excel.Cells[1,2]="身份z"xSt.get_Range(excel.Cells[1,1],excel.Cells[1,colCountStaff]).HorizontalAlignment=XlVAlign.xlVAlignCenter//设置标题格式为居中对齐for(inti=1i<=rowCountStaffi++){excel.Cells[i+1,1]="'"+listStaff[i-1].Nameexcel.Cells[i+1,2]="'"+listStaff[i-1].CardNO}for(inti=1i<=rowCountCompanyi++){excel.Cells[i+1,5]="'"+listCompany[i-1].IDexcel.Cells[i+1,6]="'"+listCompany[i-1].Nameexcel.Cells[i+1,7]="'"+listCompany[i-1].ParentID}////显示效果////设置选中的部分的颜色xSt.get_Range(xSt.Cells[1,1],xSt.Cells[1,colCountStaff]).Select()xSt.get_Range(xSt.Cells[1,1],xSt.Cells[1,colCountStaff]).Interior.ColorIndex=19//设迟和置为浅黄色,共计有56种xSt.get_Range(xSt.Cells[1,1],xSt.Cells[rowCountStaff+1,colCountStaff]).Columns.AutoFit()//绘制边框xSt.get_Range(xSt.Cells[1,1],xSt.Cells[rowCountStaff+1,colCountStaff]).Borders.LineStyle=1excel.Visible=falsestringfileName=DateTime.Now.ToString("yyyyMMddhhmmss")//设置导出文件的名称xBk.SaveCopyAs(Server.MapPath("~")+"\\Excel\\download\\"+fileName+".xls")//ds=nullxBk.Close(false,null,null)excel.Quit()System.Runtime.InteropServices.Marshal.ReleaseComObject(xBk)System.Runtime.InteropServices.Marshal.ReleaseComObject(excel)System.Runtime.InteropServices.Marshal.ReleaseComObject(xSt)xBk=nullexcel=nullxSt=nullGC.Collect()stringpath=Server.MapPath("~")+"\\Excel\\download\\"+fileName+".xls"System.IO.FileInfofile=newSystem.IO.FileInfo(path)Response.Clear()Response.Charset="GB2312"Response.ContentEncoding=System.Text.Encoding.UTF8//添加头信息,为"文件下载/另存为"对话框指定默认文件名Response.AddHeader("Content-Disposition","attachmentfilename="+Server.UrlEncode(file.Name))//添加头信息,指定文件大小,让浏览器能够显示下载进度Response.AddHeader("Content-Length",file.Length.ToString())//指定返回的是一个不能被客户端读取的流,必须被下载Response.ContentType="application/ms-excel"//把文件流发送到客户端Response.WriteFile(file.FullName)//停止页面的执行Response.End()

在 C# WinForm 中导出一维码到 Excel 单元格可以使用 Microsoft.Office.Interop.Excel 程序集。首先需要将该程序集添加到项目中。

首先需要在项目中添加一个引用,如下所示:

在项目上右键单击,然后选择“添加引用”。

在“添加引用”对话框中,选择“COM”选项卡,然后查找并选择“Microsoft Excel xx.x Object Library”(其中 xx.x 为 Excel 版本号)。

点击“确定”按钮以添加引用。

接下来可以使用下面渗液的代码来导出一维码到 Excel 单元格中:

using Microsoft.Office.Interop.Excel

// 省略其他代码

// 创建 Excel 应用程序对象

var excelApp = new Application()

// 添加一个新的工作簿

var workbook = excelApp.Workbooks.Add()

// 获取第一个工作表

var worksheet = workbook.Worksheets[1]

// 将一维码图像插入到指定的单元格中

worksheet.Cells[1, 1].Value = "一维码"

worksheet.Cells[1, 2].Value = "1234"

worksheet.Cells[1, 2].Formula = "=ENCODE_BARCODE(A2)"

// 保存工作簿

workbook.SaveAs("一维码.xlsx")

// 关闭工作簿并退出 Excel 应用程序

workbook.Close()

excelApp.Quit()

您可以继续使用 Microsoft.Office.Interop.Excel 程序集来实现您的需求。

下面是一个例子,展示了如何在 C# WinForm 中使用 Microsoft.Office.Interop.Excel 库来 *** 作 Excel 文件:

using Microsoft.Office.Interop.Excel

// 省略其他代码

// 创建 Excel 应用程序对象

var excelApp = new Application()

// 打开现有的工作簿

var workbook = excelApp.Workbooks.Open("文件厅绝路径")

// 获取第一个工作表

var worksheet = workbook.Worksheets[1]

// 使用 ENCODE_BARCODE 函数将数据编码为一维码,并将其插入到指定的单元格中

worksheet.Cells[1, 1].Value = "一维码"

worksheet.Cells[1, 2].Value = "1234"

worksheet.Cells[1, 2].Formula = "=ENCODE_BARCODE(A2)"

// 保存工作簿

workbook.Save()

// 关闭工作簿并退出 Excel 应用程序

workbook.Close()

excelApp.Quit()

在上面的代码中,使用了 ENCODE_BARCODE 函数将数据丛伏物编码为一维码,并将其插入到第一个工作表的指定单元格中。

请注意,在使用 Microsoft.Office.Interop.Excel 程序集时,需要确保 Excel 应用程序已经安装在计算机上,否则将无法使用该程序集。

此外,如果需要在 C# WinForm 中 *** 作 Excel 文件,可以考虑使用其他第三方库,如 ClosedXML 和 EPPlus


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12125028.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存