奕玖科技 > 新闻中心 > 技术文章

c# Asp.Net Core 读写操作excel基础操作

来源: 奕玖科技 Fly | 2024/11/29 9:31:26

操作Execel c#有许多的方案,这里我们使用EPPlus来操作,它的优势是操作简单,非常容易上手,下面我就以一个实际的案例来实现演示它是如何进行操作的。我们本次使用的环境是Asp.net 8 mvc

第一步:创建工程文件

这一步没什么好说的,根据您的需要创建工程文件,我选择的是Asp.net 8 mvc,当然您也可以根据自己的习惯来选择方案。

第二步:通过NuGet添加EPPlus

点击工程文件右边 资源解决方案->依赖项 右键选择管理NuGet搜索EPPlus安装即可。

第三步:开始编写代码

我们将编写一段代码,作用是将表B里的数据根据情况比如表B里的电话号码写入到表A里。简单的说就是将表B里的数据根据情况合并到表A里,代码如下

public static string ReadXLS(string FilePath,string GetFile)
{
    FileInfo existingFile = new(FilePath);
    FileInfo getfile = new(GetFile);
    ExcelPackage.LicenseContext = LicenseContext.NonCommercial;//设置商用还是非商用
    using ExcelPackage package = new(existingFile);
    //get the first worksheet in the workbook
    ExcelWorksheet worksheet = package.Workbook.Worksheets[0]; //读取第一面
    int colCount = worksheet.Dimension.End.Column;  //get Column Count 获得列数
    int rowCount = worksheet.Dimension.End.Row;     //get row count 获得行数

    using ExcelPackage get = new(getfile);
    ExcelWorksheet getsheet = get.Workbook.Worksheets[0];
    int cols = getsheet.Dimension.End.Column;  //get Column Count
    int rows = getsheet.Dimension.End.Row;     //get row count
    string data = "";
    int err = 0;
    try
    {
        for (int row = 1; row <= rowCount; row++)//循环每一行
        {
            string db = worksheet.Cells[row, 3].Value.ToString()!.Trim();//获得当前C列的值
            for (int getrow = 1; getrow <= rows; getrow++) 
            {
                err=getrow;
                Var getdb = "";
                var test = getsheet.Cells[getrow, 5];
                string tel = "";
                string xiaozu ="";
                if (getsheet.Cells[getrow, 4].Value != null) {
                
                    getdb = getsheet.Cells[getrow, 4].Value.ToString()!.Trim();
                }

                if (getsheet.Cells[getrow, 5].Value != null)
                {
                    tel = getsheet.Cells[getrow, 5].Value.ToString()!.Trim();
                }
                if (getsheet.Cells[getrow, 2].Value != null)
                {
                    xiaozu = getsheet.Cells[getrow, 2].Value.ToString()!.Trim();
                }
                
                //根据情况写入相应数据,excel里的A对应1,B对应2以此类推

                                 worksheet.Cells[row, 4].Value = tel;
                                 worksheet.Cells[row, 1].Value = xiaozu;
               

            }
        }
    }
    catch (Exception e)
    {

        return e+"标识码:"+err;
    }
    package.Save();//保存表
    return data;
}

直接调用

My.ReadXLS("D:\\MyOffice\\1.xlsx", "D:\\MyOffice\\2.xlsx")

当然上述代码只是一个示例,大家可以根据自己的实际情况进行修改,怎么样是不是很简单。

栏目导航
相关文章
文章标签
关于我们
公司简介
企业文化
资质荣誉
服务项目
高端网站定制
微信小程序开发
SEO排名推广
新闻动态
行业新闻
技术学院
常见问题
联系我们
联系我们
人才招聘
联系方式
Q Q:24722
微信:24722
电话:13207941926
地址:江西省抚州市赣东大道融旺国际3栋
Copyright©2008-2022 抚州市奕玖科技有限公司 备案号:赣ICP备2022010182号-1