如何检查或验证excel列 [英] How to check or validate excel column

查看:90
本文介绍了如何检查或验证excel列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Hello All,

i想要在上传excel时验证excel列标题。如果有人更改列标题会收到错误me.thats为什么我要在上传excel时验证标题。

如果列标题不匹配则收到错误消息我



请跟我分享。



< b>我尝试了什么:



 如果 (Path.GetExtension(FileUpload.FileName).ToLower()==  。xlsx
{
if (Path.GetExtension(FileUpload.FileName).ToLower()== 。xls
{
ExcelPackage package = new ExcelPackage(FileUpload .FileContent);
dt = package.ToDataTable();
// dt = ExcelToDataTable(FilePath);

}
else
{
ExcelPackage package = new ExcelPackage(FileUpload。 FileContent);
dt = package.ToDataTable();

// foreach(dt.Rows.Count中的DataRow行)
// {
for int i = 0 ; i< = dt.Rows.Count-1; i ++)
{
DateTime a = Convert.ToDateTime(dt.Rows [i] [ 开始日期]);
DateTime b = Convert.ToDateTime(dt.Rows [i] [ 结束日期 ]);
如果(a > = b)
{
< span class =code-comment> //
c ++;
lblMsg.ForeColor = System.Drawing.Color.Red;
lblMsg.Text = 请输入开始日期小于结束日期;
}

else
{
c ++;

}
}

}
如果(c == dt.Rows。数)
{
GridView1.DataSource = dt;
GridView1.DataBind();
Uploaddata(ExcelPackageExtensions.ValidateUpFromDataTable1(dt),FileName);

解决方案

由于这两行,您的代码永远不会运行

  if (Path.GetExtension(FileUpload.FileName).ToLower()==  。xlsx
{
if (Path.GetExtension(FileUpload.FileName).ToLower()== 。xls



文件扩展名不能同时为.xlsx和.xls,它必须是一个或另一个。

我怀疑你想使用

  if (Path.GetExtension(FileUpload.FileName).ToLower()==  。xlsx || 
Path.GetExtension(FileUpload.FileName).ToLower() == 。xls
{
ExcelPackage package = 新的 ExcelPackage(FileUpload.FileContent);
dt = package.ToDataTable();

for int i = 0 ; i< = dt.Rows.Count-1; i ++)





我没有检查其余的它,但你需要使用调试器来找出如果它仍然无法正常发生的事情。本文将帮助您掌握Visual Studio 2010中的调试 - 初学者指南 [ ^ ]


Hello All,
i want to validate excel column heading while uploading excel.if someone change column heading getting error me.thats why i want to validate heading while uploading excel.
if column heading not match then getting error msg me

plz share with me.

What I have tried:

if (Path.GetExtension(FileUpload.FileName).ToLower() == ".xlsx")
                {
                    if (Path.GetExtension(FileUpload.FileName).ToLower() == ".xls")
                    {
                        ExcelPackage package = new ExcelPackage(FileUpload.FileContent);
                        dt = package.ToDataTable();
                        //dt = ExcelToDataTable(FilePath);

                    }
                    else
                    {
                        ExcelPackage package = new ExcelPackage(FileUpload.FileContent);
                        dt = package.ToDataTable();

                        //foreach (DataRow row in dt.Rows.Count)
                        //{
                            for(int i=0;i<=dt.Rows.Count-1;i++)
                        { 
                            DateTime a = Convert.ToDateTime(dt.Rows[i]["Start Date"]);
                            DateTime b = Convert.ToDateTime(dt.Rows[i]["End Date"]);
                            if (a >= b)
                            {
                                //c++;
                                lblMsg.ForeColor = System.Drawing.Color.Red;
                                lblMsg.Text = "Please Enter Start date is Less than End Date";
                            }

                            else
                            {
                                 c++;

                            }
                        }

                    }
                    if (c==dt.Rows.Count)
                        {
                        GridView1.DataSource = dt;
                        GridView1.DataBind();
                        Uploaddata(ExcelPackageExtensions.ValidateUpFromDataTable1(dt), FileName);

解决方案

Your code will never run because of these two lines

if (Path.GetExtension(FileUpload.FileName).ToLower() == ".xlsx")
{
        if (Path.GetExtension(FileUpload.FileName).ToLower() == ".xls")


The file extension cannot be both ".xlsx" AND ".xls" it must be one or the other.
I suspect that you wanted to use

if (Path.GetExtension(FileUpload.FileName).ToLower() == ".xlsx" ||
    Path.GetExtension(FileUpload.FileName).ToLower() == ".xls")
{
    ExcelPackage package = new ExcelPackage(FileUpload.FileContent);
    dt = package.ToDataTable();

    for(int i=0;i<=dt.Rows.Count-1;i++)



I haven't checked the rest of it, but you need to use the debugger to find out what is going on if it still doesn't work. This article will help you Mastering Debugging in Visual Studio 2010 - A Beginner's Guide[^]


这篇关于如何检查或验证excel列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆