C# 文件上载到Gridview并存储ASP.net中的信息

C# 文件上载到Gridview并存储ASP.net中的信息,c#,asp.net,datagridview,C#,Asp.net,Datagridview,下面是一个场景,当我上传一个文件时,我读取该文件并将其内容转储到gridView中。当我上传另一个文件时,它还应该向gridView追加新项目 我的情况是,每当我上传一个新文件时,它就会替换旧文件。是否可以将dataGridview中的数据存储在临时持有者上 受保护的无效按钮1\u单击(对象发送者,事件参数e) { if(FileUpload1.HasFile) { if(Path.GetExtension(FileUpload1.FileName)=“.xlsx”) { ExcelPackag

下面是一个场景,当我上传一个文件时,我读取该文件并将其内容转储到gridView中。当我上传另一个文件时,它还应该向gridView追加新项目

我的情况是,每当我上传一个新文件时,它就会替换旧文件。是否可以将dataGridview中的数据存储在临时持有者上

受保护的无效按钮1\u单击(对象发送者,事件参数e)
{
if(FileUpload1.HasFile)
{
if(Path.GetExtension(FileUpload1.FileName)=“.xlsx”)
{
ExcelPackage=新的ExcelPackage(FileUpload1.FileContent);
GridView1.DataSource=package.ToDataTable();
GridView1.DataBind();
}
if(FileUpload1.FileName.Contains(“0446”)==true)
{
Name=Convert.ToString(GridView1.Rows[6]。单元格[0]。文本);
Name2=Convert.ToString(GridView1.Rows[6]。单元格[1]。文本);
插入文件源(“0446”,名称,名称2);
double TotalAquireResolution=Convert.ToDouble(名称2);
Name=Convert.ToString(GridView1.Rows[13]。单元格[0]。文本);
Name2=Convert.ToString(GridView1.Rows[13]。单元格[1]。文本);
插入文件源(“0446”,名称,名称2);
double TotaloadResolution=Convert.ToDouble(名称2);
插入TONAV(“21-01-041-00000 P/R-清算账户-缺失”,转换为字符串(TotalAquireResolution+TotalLoadResolution));
Name=Convert.ToString(GridView1.Rows[18]。单元格[0]。文本);
Name2=Convert.ToString(GridView1.Rows[18]。单元格[1]。文本);
插入文件源(“0446”,名称,名称2);
插入TONAV(“21-01-044-00000 P/R-清算账户注销”,名称2);
Name=Convert.ToString(GridView1.Rows[26]。单元格[0]。文本);
Name2=Convert.ToString(GridView1.Rows[26]。单元格[3]。文本);
插入文件源(“0446”,名称,名称2);
InsertToNAV(“21-01-031-00000发行人LIB-CMgr”,名称2);
}
if(FileUpload1.FileName.Contains(“0501A”)==true)
{
//calculateRNP();
InsertToNAV(“21-01-032-00000发行人LIB–手动调整”,calculateRNP());
}
if(FileUpload1.FileName.Contains(“Non-Rail”)==true)
{
字符串名称=Convert.ToString(GridView1.Rows[9]。单元格[5]。文本);
字符串nonRail_Amount=Convert.ToString(GridView1.Rows[40]。单元格[6]。文本);
插入文件来源(“SFF”,商户名称,非铁路金额);
InsertToNAV(商户名称、非铁路金额);
}
if(FileUpload1.FileName.Contains(“Rail”)==true)
{
//字符串名称=Convert.ToString(GridView1.Rows[9]。单元格[5]。文本);
//字符串nonRail_Amount=Convert.ToString(GridView1.Rows[40]。单元格[6]。文本);
}
}
}
受保护的void InsertToFileSource(字符串文件类型、字符串名称、字符串名称2)
{
DataTable dt=(DataTable)视图状态[“文件源”];
if(名称==“收单机构总结算”| |名称==“收单机构总结算”)
dt.Rows.Add(文件类型、名称、名称2,“P/R-结算账户缺失”);
如果(名称=“小计:”)
dt.Rows.Add(文件类型、名称、名称2,“P/R-清算账户冲销”);
如果(名称==“净总额:”)
Add(文件类型、名称、名称2,“Issuerliab-CMgr”);
如果(名称=“RNP”)
添加(文件类型、名称、名称2,“发卡行-手动调整”);
其他的
添加(文件类型、名称、名称2,“SFF无轨”);
这是BindGridView3();
}
受保护的无效页面加载(对象发送方、事件参数e)
{
DataTable dt=新的DataTable();
DataTable dtGridView2=新DataTable();
dt.Columns.AddRange(新数据列[4]{new DataColumn(“文档源”)、新数据列(“行项目条目”)、新数据列(“金额”)、新数据列(“资产净值账户”)};
ViewState[“FileSource”]=dt;
这是BindGridView3();
dtGridView2.Columns.AddRange(新数据列[3]{new DataColumn(“商户名称”)、new DataColumn(“借方”)、new DataColumn(“贷方”)};
ViewState[“StatementOfcounts”]=dtGridView2;
这是BindGridView2();
}

在将数据表设置到网格之前,您应该将数据保存到DataTable中,进行检查,如果DataTable中已经有一些数据,请将新数据附加到其中,不要每次都创建新DataTable。因此,每次新文件出现时,网格都会有新的数据。

//必须创建一个名为data的类,该类将绑定到GridView1.DataSource
    //you must make a class named data, and this class will be bind to GridView1.DataSource
//this is a new line
    private static List<data> datasources = new List<data>();

    protected void Button1_Click(object sender, EventArgs e)
        {
            if (FileUpload1.HasFile)
            {
                if (Path.GetExtension(FileUpload1.FileName) == ".xlsx")
                {
                    ExcelPackage package = new ExcelPackage(FileUpload1.FileContent);
    datasources.add(package.ToDataTable()); // keep ToDataTable return type is same with data
//here have some edit
                    GridView1.DataBind();
                }

                if (FileUpload1.FileName.Contains("0446") == true)
                {
                    Name = Convert.ToString(GridView1.Rows[6].Cells[0].Text);
                    Name2 = Convert.ToString(GridView1.Rows[6].Cells[1].Text);
                    InsertToFileSource("0446",Name, Name2);
                    double totalAquirerSettlement = Convert.ToDouble(Name2);

                    Name = Convert.ToString(GridView1.Rows[13].Cells[0].Text);
                    Name2 = Convert.ToString(GridView1.Rows[13].Cells[1].Text);
                    InsertToFileSource("0446", Name, Name2);
                    double totalLoadSettlement = Convert.ToDouble(Name2);

                    InsertToNAV("21-01-041-00000 P/R - Clearing Account - Missing",Convert.ToString(totalAquirerSettlement+totalLoadSettlement));

                    Name = Convert.ToString(GridView1.Rows[18].Cells[0].Text);
                    Name2 = Convert.ToString(GridView1.Rows[18].Cells[1].Text);
                    InsertToFileSource("0446", Name, Name2);
                    InsertToNAV("21-01-044-00000 P/R - Clearing Account Write off",Name2);

                    Name = Convert.ToString(GridView1.Rows[26].Cells[0].Text);
                    Name2 = Convert.ToString(GridView1.Rows[26].Cells[3].Text);
                    InsertToFileSource("0446", Name, Name2);
                    InsertToNAV("21-01-031-00000 Issuerliab - CMgr", Name2);

                }
                if (FileUpload1.FileName.Contains("0501A") == true)
                {
                    //calculateRNP();
                    InsertToNAV("21-01-032-00000 Issuerliab – Manual Adjustments", calculateRNP());
                }
                if (FileUpload1.FileName.Contains("Non-Rail") == true)
                {
                    String merchant_Name = Convert.ToString(GridView1.Rows[9].Cells[5].Text);
                    String nonRail_Amount = Convert.ToString(GridView1.Rows[40].Cells[6].Text);
                    InsertToFileSource("SFF", merchant_Name, nonRail_Amount);
                    InsertToNAV(merchant_Name, nonRail_Amount);
                }
                if (FileUpload1.FileName.Contains("Rail") == true)
                {
                    //String merchant_Name = Convert.ToString(GridView1.Rows[9].Cells[5].Text);
                    //String nonRail_Amount = Convert.ToString(GridView1.Rows[40].Cells[6].Text);
                }
            }
        }

       protected void InsertToFileSource(String FileType,String Name, String Name2)
        {
            DataTable dt = (DataTable)ViewState["FileSource"];
            if(Name == "Total Acquirer Settlement"||Name == "Total Load Acquirer Settlement")
                dt.Rows.Add(FileType, Name, Name2, "P/R - Clearing Account Missing ");
            if (Name == "Sub Total:")
                dt.Rows.Add(FileType, Name, Name2, "P/R - Clearing Account WriteOff ");
            if(Name == "Net Total :")
                dt.Rows.Add(FileType, Name, Name2, "Issuerliab - CMgr ");
            if (Name == "RNP")
                dt.Rows.Add(FileType, Name, Name2, "Issuerliab – Manual Adjustments");
            else
                dt.Rows.Add(FileType, Name, Name2, "SFF Non-Rail");

            this.BindGridView3();
        }
     protected void Page_Load(object sender, EventArgs e)
        {
            DataTable dt = new DataTable();
            DataTable dtGridView2 = new DataTable();
            dt.Columns.AddRange(new DataColumn[4] { new DataColumn("Document Source"),new DataColumn("Line Item Entry"), new DataColumn("Amount"), new DataColumn("NAV Account") });
            ViewState["FileSource"] = dt;
            this.BindGridView3();

            dtGridView2.Columns.AddRange(new DataColumn[3] { new DataColumn("Merchant Name"), new DataColumn("Debit"), new DataColumn("Credit") });
            ViewState["StatementOfAccounts"] = dtGridView2;
            this.BindGridView2();

    //there are new lines
            GridView1.DataSource = datasources;
            GridView1.DataBind();
        }
//这是一条新路线 私有静态列表数据源=新列表(); 受保护的无效按钮1\u单击(对象发送者,事件参数e) { if(FileUpload1.HasFile) { if(Path.GetExtension(FileUpload1.FileName)=“.xlsx”) { ExcelPackage=新的ExcelPackage(FileUpload1.FileContent); datasources.add(package.ToDataTable());//保持ToDataTable返回类型与数据相同 //这里有一些编辑 GridView1.DataBind(); } if(FileUpload1.FileName.Contains(“0446”)==true) { Name=Convert.ToString(GridView1.Rows[6]。单元格[0]。文本); Name2=Convert.ToString(GridView1.Rows[6]。单元格[1]。文本); 插入文件源(“0446”,名称,名称2); double TotalAquireResolution=Convert.ToDouble(名称2); Name=Convert.ToString(GridView1.Rows[13]。单元格[0]。文本); Name2=Convert.ToString(GridView1.Rows[13]。单元格[1]。文本); 插入文件源(“0446”,名称,名称2); double TotaloadResolution=Convert.ToDouble(名称2); 插入TONAV(“21-01-041-00000 P/R-清算账户-缺失”,转换为字符串(TotalAquireResolution+TotalLoadResolution)); Name=Convert.ToString(GridView1