Как получить данные определенного столбца из файла Excel? - PullRequest
0 голосов
/ 14 декабря 2011

Привет, у меня есть файл Excel, который выглядит как это имя, имя, возраст, phne no, и вот так у меня есть 35 столбцов .........

Я использую веб-приложение для этого ву меня есть fileupload control, кнопка и два текстовых поля

        fileuploadcontrol
        button
         textbox1
         textbox2

Теперь, когда я загружаю файл Excel по нажатию кнопки, он должен прочитать полный файл ......... и когда явведите требуемый столбец в поле textbox1 Я получаю только данные этого столбца, вот так:

textbox1(c1,c4,c5,c30) Я должен получить только данные этого столбца, а в другом текстовом поле, если я введу место для сохранения, оно должнобыть сохраненным в этом месте, может ли кто-нибудь помочь мне с этим, который я закончил до загрузки файла и чтения ..... все, что мне нужно, это как оценить эти текстовые поля, чтобы получить мои необходимые данные

           protected void Button1_Click(object sender, EventArgs e)
               {
                if (FileUpload1.HasFile)
                 {
                   if (FileUpload1.PostedFile.ContentType == "application/xlsx")
                    {
                       path = Server.MapPath(".") + "\\inputfiles\\" + Guid.NewGuid() + FileUpload1.FileName;
                       FileUpload1.PostedFile.SaveAs(path);
                       Label1.Text = "File Uploaded Successfully...";
                       StreamReader reader = new StreamReader(FileUpload1.FileContent);
                      string text = reader.ReadToEnd();

                      }
                      else
                     Label1.Text = "Upload .xlsx File";
                       }
                     else
                    Label1.Text = "Upload file";

                      }

Ответы [ 2 ]

0 голосов
/ 15 декабря 2011

Я получил ответ сам ....... для того, чтобы помочь мне в размещении моего кода, если это понадобится в любом случае ........

                  protected void btns_Click(object sender, EventArgs e)
                         {
                           string path = string.Empty;
                           location = Textbox2.Text;
                            if (fup1.HasFile)
                              {
                                   try
                                 {
                                path = Server.MapPath(".") + "\\uploadedfiles\\" + Guid.NewGuid() + fup1.FileName;
                            fup1.PostedFile.SaveAs(path);
                       lbl5.Text = "Upload status: File uploaded!";
                                     }
                            catch (Exception ex)
                                    {
                                       lbl5.Text = "Upload status: The file could not be uploaded. The following error occured: " + ex.Message;

                                      }
                                 excelfile(path);

                                 }

                        }

               void excelfile( string path)
                   {
                string readfile = path;
                // initialize the Excel Application class
                   Excel.Application app = new Excel.Application();

                 //Excel.Worksheet NwSheet;
                  Excel.Range ShtRange;
                // create the workbook object by opening  the excel file.
               Excel.Workbook workBook = app.Workbooks.Open(readfile, 0, true, 5, "", "", true, Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
              // Get The Active Worksheet Using Sheet Name Or Active Sheet
                Excel.Worksheet workSheet = (Excel.Worksheet)workBook.ActiveSheet;
                  int index = 1;


                    System.Text.StringBuilder sb = new StringBuilder();
                       try
                           {
                      string[] values = Textbox1.Text.Split(new char[] { ',' });
                     int[] colindexs = new int[values.Length];
                       for (int i = 0; i < values.Length; i++)
            {
                colindexs[i] = Convert.ToInt16(values[i]);
            }

            while (((Excel.Range)workSheet.Cells[index, 1]).Value2 != null)
            {
                string str = "";



                foreach (int col1 in colindexs)
                {
                    str = str + Convert.ToString(((Excel.Range)workSheet.Cells[index, col1]).Value2) + ",";
                }
                str = str.Substring(0, str.Length - 1);
                sb.Append(str);
                sb.Append(Environment.NewLine);
                index++;
            }

           Writetofile(sb.ToString());

            ShtRange = workSheet.UsedRange;     

        }
        catch (Exception ex)
        {
            app.Quit();
            lbl5.Text=ex.Message;       
        }


    }

     void Writetofile(string content)
    {

        using (System.IO.StreamWriter sw = new System.IO.StreamWriter(location, true))
        {

            sw.Write(content);
            sw.Flush();


        }
    }
}
0 голосов
/ 14 декабря 2011

Проверьте это:

Чтение и отображение данных из файла Excel (.xsl или .xlsx) в ASP.NET

Вы можете указать, какие столбцы нужно прочитать в запросе выбора.

Привет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...