Aspose.Cells Excel导出导入

2024-05-31 14:58
文章标签 excel 导出 导入 cells aspose

本文主要是介绍Aspose.Cells Excel导出导入,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

DLL下载地址  http://download.csdn.net/download/u011155153/9957024   

/// <summary>

        /// 将list 导出excel
        /// </summary>
        /// <typeparam name="T">model</typeparam>
        /// <param name="list">需要导出的list数据集</param>
        /// <param name="sheetName">标题</param>
        /// <param name="cols">需要导出的字段</param>
        /// <returns>excel保存的路径</returns>
        public string ExportExecl<T>(IList<T> list, string sheetName, List<Col> cols) where T : class, new()
        {
            string rptPath = PathExt.ConvertAbsolutePath("Report/WaterReport.xls");
            try
            {
                #region Aspose  创建工作簿
                /*创建工作簿*/
                Workbook workbook = new Workbook(rptPath);
                Worksheet sheet = workbook.Worksheets[0]; //工作表 
                Cells cells = sheet.Cells;//单元格
                //标题
                Style title = workbook.Styles[workbook.Styles.Add()];
                title.HorizontalAlignment = Aspose.Cells.TextAlignmentType.Center;//字体居中
                //  cells.Merge(0, 0, 1, cols.Count);//合并单元格     前两个为单元格坐标 第三个参数为合并多少行,第四个参数合并多少列  
                title.Font.Size = 25;
                title.Font.IsBold = true;//粗体   
                // 表头
                Style header = workbook.Styles[workbook.Styles.Add()];
                header.HorizontalAlignment = Aspose.Cells.TextAlignmentType.Center;//字体居中
                header.Font.Size = 14;
                header.Font.IsBold = true;//粗体   
                header.ForegroundColor = System.Drawing.Color.FromArgb(204, 204, 204);//设置背景色 可以参考颜色代码对照表  
                header.Borders[BorderType.LeftBorder].LineStyle = CellBorderType.Thin;//应用边界线 左边界线  
                header.Borders[BorderType.RightBorder].LineStyle = CellBorderType.Thin; //应用边界线 右边界线  
                header.Borders[BorderType.TopBorder].LineStyle = CellBorderType.Thin;//应用边界线 上边界线  
                header.Borders[BorderType.BottomBorder].LineStyle = CellBorderType.Thin;//应用边界线 下边界线  
                //边框
                Style border = workbook.Styles[workbook.Styles.Add()];
                border.HorizontalAlignment = Aspose.Cells.TextAlignmentType.Center;//字体居中
                border.IsTextWrapped = true;//单元格内容自动换行  
                border.Borders[BorderType.LeftBorder].LineStyle = CellBorderType.Thin;//应用边界线 左边界线  
                border.Borders[BorderType.RightBorder].LineStyle = CellBorderType.Thin; //应用边界线 右边界线  
                border.Borders[BorderType.TopBorder].LineStyle = CellBorderType.Thin;//应用边界线 上边界线  
                border.Borders[BorderType.BottomBorder].LineStyle = CellBorderType.Thin;//应用边界线 下边界线  
                #endregion


                #region Aspose  样式设置事例


                //Aspose.Cells.Style style1 = workbook.Styles[workbook.Styles.Add()];
                style1.Pattern = Aspose.Cells.BackgroundType.Solid;//单元格的线:实线  
                //style1.HorizontalAlignment = Aspose.Cells.TextAlignmentType.Center;//字体居中  
                //style1.Font.Name = "宋体";//文字字体  
                //style1.Font.Size = 25;//文字大小  
                //style1.IsTextWrapped = true;//单元格内容自动换行  
                style1.ForegroundColor = System.Drawing.Color.FromArgb(50, 205, 50);//设置背景色 可以参考颜色代码对照表  
                //style1.Font.IsBold = true;//粗体  
                style1.Borders[BorderType.LeftBorder].LineStyle = CellBorderType.Thin;//应用边界线 左边界线  
                style1.Borders[BorderType.RightBorder].LineStyle = CellBorderType.Thin; //应用边界线 右边界线  
                style1.Borders[BorderType.TopBorder].LineStyle = CellBorderType.Thin;//应用边界线 上边界线  
                style1.Borders[BorderType.BottomBorder].LineStyle = CellBorderType.Thin;//应用边界线 下边界线  
                //cells[row, 0].PutValue(sheetName);
                //cells[row, 0].SetStyle(title);
                //cells.SetColumnWidth(0, 30);//设置列宽  
                //cells.Merge(0, 0, 1, cols.Count);//合并单元格     前两个为单元格坐标 第三个参数为合并多少行,第四个参数合并多少列
                //cells.SetRowHeight(0, 38);//设置行高   
                #endregion


                int row = 0;
                cells[row, 0].PutValue(sheetName);
                cells[row, 0].SetStyle(title);
                cells.SetColumnWidth(0, 30);//设置列宽  
                //生成列名
                row++;
                for (int i = 0; i < cols.Count; i++)
                {
                    cells[row, i].PutValue(cols[i].Name);
                    cells[row, i].SetStyle(header);
                }
                //生成数据  
                if (list != null && list.Count > 0)
                {
                    for (int i = 0; i < list.Count; i++)
                    {
                        row++;
                        for (int j = 0; j < cols.Count; j++)

                        {

    cells[row, j].PutValue(typeof(T).GetProperty(Code).GetValue(list[i]));

                            cells[row, j].SetStyle(border);
                        }
                    }
                }


                #region 验证是否存在文件夹
                string path = "/Upload/";
                string rootPath = PathExt.ConvertAbsolutePath(path);
                if (!System.IO.Directory.Exists(rootPath))
                {
                    Directory.CreateDirectory(rootPath);
                } 
                #endregion


                string FileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls";
                string savePath = PathExt.GetTempFile(rootPath, FileName);
                workbook.Save(savePath);
                return "Upload/" + FileName;
            }
            catch (Exception e)
            {
                return " IListToExcel: " + e.Message;
            }
        }




        /// <summary>
        /// 导入excel 返回DataTable
        /// </summary>
        /// <param name="strFileName">excel文件地址</param>
        /// <returns>DataTable</returns>
        public System.Data.DataTable ReadExcel(String strFileName)
        {
            Workbook book = new Workbook();
            book.Open(strFileName);
            Worksheet sheet = book.Worksheets[0];
            Cells cells = sheet.Cells;
            return cells.ExportDataTableAsString(0, 0, cells.MaxDataRow + 1, cells.MaxDataColumn + 1, true);

        }

public class Col
    { /// <summary>
        /// 中文名(显示名称)
        /// </summary>
        public string Name { get; set; }
        /// <summary>
        /// 英文(数据库查询字段)
        /// </summary>
        public string ColName { get; set; }
    }

   List<Col> list = new List<Col>() {
                new Col() { Name = "popedomId", ColName = "popedomId" },
                new Col() { Name = "workIngId", ColName = "workIngId" },
                new Col() { Name = "workingSeatId", ColName = "workingSeatId" },
                new Col() { Name = "questionTypeId", ColName = "questionTypeId" },
                new Col() { Name = "questionId", ColName = "questionId" },
                new Col() { Name = "shiftId", ColName = "shiftId" },
                new Col() { Name = "classId", ColName = "classId" },
                new Col() { Name = "solutionId", ColName = "solutionId" },
                new Col() { Name = "userId", ColName = "userId" } 
            };

 public string AA()
        {
            AsposeExportExcel excel = new AsposeExportExcel();
            string url = excel.ExportExecl<VW_WorkNote>("需要导出的List", "sheetName", list);
            return url;
        }


这篇关于Aspose.Cells Excel导出导入的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1018248

相关文章

C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式

《C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式》Markdown凭借简洁的语法、优良的可读性,以及对版本控制系统的高度兼容性,逐渐成为最受欢迎的文档格式... 目录为什么要将文档转换为 Markdown 格式使用工具将 Word 文档转换为 Markdown(.

使用C#删除Excel表格中的重复行数据的代码详解

《使用C#删除Excel表格中的重复行数据的代码详解》重复行是指在Excel表格中完全相同的多行数据,删除这些重复行至关重要,因为它们不仅会干扰数据分析,还可能导致错误的决策和结论,所以本文给大家介绍... 目录简介使用工具C# 删除Excel工作表中的重复行语法工作原理实现代码C# 删除指定Excel单元

Python实现pdf电子发票信息提取到excel表格

《Python实现pdf电子发票信息提取到excel表格》这篇文章主要为大家详细介绍了如何使用Python实现pdf电子发票信息提取并保存到excel表格,文中的示例代码讲解详细,感兴趣的小伙伴可以跟... 目录应用场景详细代码步骤总结优化应用场景电子发票信息提取系统主要应用于以下场景:企业财务部门:需

Mac备忘录怎么导出/备份和云同步? Mac备忘录使用技巧

《Mac备忘录怎么导出/备份和云同步?Mac备忘录使用技巧》备忘录作为iOS里简单而又不可或缺的一个系统应用,上手容易,可以满足我们日常生活中各种记录的需求,今天我们就来看看Mac备忘录的导出、... 「备忘录」是 MAC 上的一款常用应用,它可以帮助我们捕捉灵感、记录待办事项或保存重要信息。为了便于在不同

Python处理大量Excel文件的十个技巧分享

《Python处理大量Excel文件的十个技巧分享》每天被大量Excel文件折磨的你看过来!这是一份Python程序员整理的实用技巧,不说废话,直接上干货,文章通过代码示例讲解的非常详细,需要的朋友可... 目录一、批量读取多个Excel文件二、选择性读取工作表和列三、自动调整格式和样式四、智能数据清洗五、

Python Pandas高效处理Excel数据完整指南

《PythonPandas高效处理Excel数据完整指南》在数据驱动的时代,Excel仍是大量企业存储核心数据的工具,Python的Pandas库凭借其向量化计算、内存优化和丰富的数据处理接口,成为... 目录一、环境搭建与数据读取1.1 基础环境配置1.2 数据高效载入技巧二、数据清洗核心战术2.1 缺失

利用Python实现Excel文件智能合并工具

《利用Python实现Excel文件智能合并工具》有时候,我们需要将多个Excel文件按照特定顺序合并成一个文件,这样可以更方便地进行后续的数据处理和分析,下面我们看看如何使用Python实现Exce... 目录运行结果为什么需要这个工具技术实现工具的核心功能代码解析使用示例工具优化与扩展有时候,我们需要将

MySQL Workbench工具导出导入数据库方式

《MySQLWorkbench工具导出导入数据库方式》:本文主要介绍MySQLWorkbench工具导出导入数据库方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录mysql Workbench工具导出导入数据库第一步 www.chinasem.cn数据库导出第二步

Java如何根据word模板导出数据

《Java如何根据word模板导出数据》这篇文章主要为大家详细介绍了Java如何实现根据word模板导出数据,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... pom.XML文件导入依赖 <dependency> <groupId>cn.afterturn</groupId>

将图片导入Python的turtle库的详细过程

《将图片导入Python的turtle库的详细过程》在Python编程的世界里,turtle库以其简单易用、图形化交互的特点,深受初学者喜爱,随着项目的复杂度增加,仅仅依靠线条和颜色来绘制图形可能已经... 目录开篇引言正文剖析1. 理解基础:Turtle库的工作原理2. 图片格式与支持3. 实现步骤详解第