получать информацию из набора данных и помещать в лист? - PullRequest
0 голосов
/ 09 декабря 2011

У меня возникли проблемы со следующим:

Я даю своему методу набор данных, и он должен выбросить информацию в файл excel, который является шаблоном форматирования, которое я желаю. Созданный мной файл Excel имеет заголовок, некоторые фильтры и тому подобное, и я установил свой метод для заполнения файла ПОСЛЕ заголовка и т. Д., Но проблема в том, что, когда я это делаю, я теряю все форматирование, которое было на шаблон. Я использую этот класс http://www.codeproject.com/KB/office/biffcsharp.aspx. Я не уверен, возможно, что формат для реализации класса очень прост или перезаписывает всю имеющуюся у меня информацию.

мой метод выглядит следующим образом, используя класс по ссылке выше:

public void PopularSheet()
{     
    string filename = "C:\\test"  + System.Web.HttpContext.Current.Session["SYSTEMCLIENTID"].ToString()+ System.Web.HttpContext.Current.Session["SYSTEMUSERTYPEID"].ToString()+ System.Web.HttpContext.Current.Session["CLIENTID"].ToString()+".xls";
    File.Copy("C:\\test.xls", filename);
    FileStream stream = new FileStream(filename, FileMode.OpenOrCreate);
    ExcelWriter writer = new ExcelWriter(stream);
    DataSet ds = GetDataSet();
    writer.BeginWrite();

    int jValue = ds.Tables[0].Columns.Count;
    int iValue = ds.Tables[0].Rows.Count;

    // Passa os dados do dataset para a planilha
    for (int i = 0; i < iValue; i++)
    {
        // Lê todas as colunas da linha i
        for (int j = 0; j < jValue; j++)
        {
            writer.WriteCell(i+2, j, ds.Tables[0].Rows[i][j].ToString());


        }
    }
    writer.EndWrite();
    stream.Close();
}

Я также пытался использовать библиотеку Excel, http://www.carlosag.net/tools/excelxmlwriter/,but Я думаю, чтобы ЗАГРУЗИТЬ файл (чтобы я мог вставить в него нужную информацию), мне нужно загрузить XML-файл, что невозможно!

В другой библиотеке, которую я использовал, возникла проблема при сохранении, я смог отредактировать рабочий лист, а затем, когда я сохранил и открыл файл Excel, сгенерированный с помощью кода, он вышел пустым.

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

Что мне нужно сделать:

  • Загрузить существующий файл Excel как «шаблон»
  • Бросить набор данных в файл
  • Сохраните файл с информацией, которую я выкинул в формате шаблона

Ответы [ 2 ]

1 голос
/ 09 декабря 2011

Существует библиотека с именем ClosedXML , которая полезна для создания файла openxml.

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

Подумайте: можете ли вы использовать .csv вместо стандартного файла .xls?Если это так, вы можете легко заполнить свою таблицу.

...