使用Aspose.Cells导出Excel

本文介绍了如何使用Aspose.Cells库在C#中实现从配置文件读取信息并插入Excel,包括图片的原大小显示、单元格内缩放以及首行背景填充和冻结。面对大量数据可能导致的内存溢出问题,文章提供了处理技巧,并对比了Aspose.Cells与NPOI库的使用体验。
摘要由CSDN通过智能技术生成

前几天由于公司需求,要将配置文件中的dd是的图片以及相关信息导出成excel。在此具体需求如下

1、根据ani配置文件读取配置信息(配置说明、配置标题、配置路径、配置图片、图片尺寸)

2、根据dds图片路径导入excel(原图大小显示、一行一张图)图片显示在单个单元格中

3、图片高度高于单元格行高限制进行缩放显示(行高:409)

4、首行背景色填充+冻结

注意:

1、配置文件数据量比较大,excel写入的时候容易引发内存溢出,特别是内存达到1g的时候就报错了

2、都要将dds文件读取到内存中,图片大小又不相同。还要缩放,记得释放图片。以及数据流,要不然容易引发:GDI+一般错误什么鬼的

3、我也使用NPOI的方式,也使用过Aspose.Cells,两个差不多,记得使用NuGet搜索一下关键字,安装添加引用即可

代码也没整理,你可以根据上面的几个点拆分成各个方法。


        /// <summary>
        /// 解析配置文件并导出Excel
        /// </summary>
        /// <param name="dicAniInfo"></param>
        /// <param name="listKeys"></param>
        /// <returns></returns>
        public string ExportExcel(Dictionary<string, List<string>> dicAniInfo, string[] listKeys)
        {
            Workbook wb = new Workbook();
            wb.Worksheets.Clear();
            Worksheet ws = wb.Worksheets.Add("物品资源列表");

            ws.FreezePanes(1, 5, 1, 5);

            //表头
            for (int i = 0; i < this.SGridRetrieve.PrimaryGrid.Columns.Count; i++)
            {
                ws.Cells[
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Aspose.Cells是一个用于处理Excel文件的.NET组件。在使用Aspose.Cells导出Excel文件时,可以使用以下代码示例: ```csharp System.Web.HttpResponse Response = System.Web.HttpContext.Current.Response; workbook.Save(Response, HttpUtility.UrlEncode(filename, System.Text.Encoding.UTF8) + ".xlsx", Aspose.Cells.ContentDisposition.Attachment, new Aspose.Cells.XlsSaveOptions(Aspose.Cells.SaveFormat.Xlsx)); ``` 这段代码将Excel文件保存到HttpResponse中,以便将其作为附件下载。其中,`workbook`是你创建的Excel工作簿对象,`filename`是你想要保存的文件名。 在生成Excel文件时,你还可以设置标题行和列头行的样式,例如: ```csharp // 生成标题行 cells.Merge(0, 0, 1, header.Keys.Count); // 合并单元格,标题行有几列就合并几列 cells\[0, 0\].PutValue(filename); // 填写内容 cells\[0, 0\].SetStyle(styleTitle); // 使用标题样式 cells.SetRowHeight(0, 50); // 第0行,50px高 // 生成列头行 int headerNum = 0; // 当前表头所在列 foreach (string item in header.Keys) { cells\[1, headerNum\].PutValue(item); cells\[1, headerNum\].SetStyle(styleHeader); cells.SetColumnWidthPixel(headerNum, 200); // 设置单元格200宽度 cells.SetRowHeight(1, 30); // 第一行,30px高 headerNum++; } ``` 这段代码示例展示了如何设置标题行和列头行的样式,其中`cells`是你创建的Worksheet对象,`header`是一个包含列头信息的字典,`styleTitle`和`styleHeader`是你定义的样式对象。 希望这些代码示例能帮助到你导出Excel文件使用Aspose.Cells。 #### 引用[.reference_title] - *1* *2* *3* [使用Aspose.Cells导出excel](https://blog.csdn.net/rxbtalent/article/details/99818241)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值