SujataJK Ответов: 2

Как экспортировать все данные datatable в excel(spire.xlsx) в ASP.NET с#


Всем привет,
Я хочу экспортировать данные datatable в excel.Здесь я использовал spire.xls компонент для экспорта такой же.Здесь я использовал spire.xls поскольку я хочу экспортировать в excel, в то же время я должен добавить столбец гиперссылки вдоль файла excel.Он отлично работает, но показывает только первые 200 записей datatable вместо того, чтобы на самом деле иметь 1250 подобных.

Пожалуйста, помогите мне...


заранее спасибо.

Что я уже пробовал:

См. мой пример кода

t = (DataTable)ViewState["ExportData"];
           
            Workbook book = new Workbook();
            Worksheet sheet = book.Worksheets[0];
           
            sheet.InsertDataTable(t, true, 1, 1);
            String rg=sheet.AllocatedRange.RowCount.ToString();
            List<String> list = new List<string>();
            list = PathClass.pathlist;
           
            int colno = t.Columns.Count;
            int rowno = t.Rows.Count;
            string colnm = GetExcelColumnName(colno + 1);
            int rowno1 = rowno + 1;
            string range = "Sheet1!$" + colnm + "$2:" + colnm + "$" + rowno1 + "";

            for (int i = 0; i < list.Count; i++)
            {
                sheet.Range[range].Cells[i].Text = list[i];
            }
            foreach (CellRange cr in sheet.Range[range].Cells)
            {
                Spire.Xls.HyperLink hylink1 = sheet.HyperLinks.Add(sheet.Range[cr.RangeAddress]);
                hylink1.Type = HyperLinkType.Url;
                hylink1.Address = cr.Text;

            }
            sheet.Range["P1"].Text = list.Count.ToString();
            sheet.Range["Q1"].Text = t.Rows.Count.ToString();
            sheet.Range["R1"].Text = range;
            sheet.Range["R2"].Text = rg;
            t.Dispose();


            string nm = ViewState["LocationNm"].ToString();
            string type = ViewState["BillType"].ToString();
            

            string p=txtBrowse.Text.Substring(0,txtBrowse.Text.Length-1);
            String p1=p+"\\"+"\\";
           
            string path11 =p1 + nm + "_" + type + ".xls";
            txtBrowse.Text = path11;
            list.Clear();
          
            ViewState["Path11"] = path11;
            book.SaveToFile(path11);

2 Ответов

Рейтинг:
0

Richard Deeming

Компонент, который вы используете, является коммерческим продуктом. Похоже, вы используете их" бесплатное " издание сообщества, которое:

Цитата:
... ограничено 5 листами на рабочую книгу и 200 строк на листе.

Страница, кажется, предполагает, что этот предел не существует в v7.8 или выше, но я не совсем уверен, что прочитал это правильно.

Если последняя "бесплатная" версия все еще имеет предел, то вам нужно либо купить коммерческую версию, либо использовать одну из многих действительно бесплатных и неограниченных альтернатив. Например:


Редактировать: Как я и предполагал еще в феврале[^]!


SujataJK

спасибо @Richard

Рейтинг:
0

nikunj palsana

Пример для закрытого XML

string folderPath = "C:\\Export\\";
if (!Directory.Exists(folderPath))
{
    Directory.CreateDirectory(folderPath);
}
//Codes for the Closed XML

using (XLWorkbook wb = new XLWorkbook())
{
    wb.Worksheets.Add(datatable, "Test_1");
    wb.SaveAs(folderPath + "Test_1.xlsx");

}