C# создание отчетов в Excel и Word
От: ganjaskier  
Дата: 12.05.05 09:44
Оценка:
здрасте...сразу скажу в C# я полный чайник но моя бакалаврская работа требует именно писание проги на этом языке...вощем
помогите пожалуйста подскажите с чего начать: требуется создание отчетотв в word, excel,xml...т.е. без всяких crystal reports без всего такова...мне нужно просто вручную писать программный код вызывать там excel и например так же в опеределенные
ячейки туда забивать инфу и все именно чтобы это генерировалось в программном коде...инфа вся из БД собираеца.
еси у каво есть приведите плз пример рабочего кода или хотябы строчек из него (например как word или excel вызвать и
простенько туда чонить забросать)...ну ссылки если кто знает по этому поводу киньте пожалуйста...
я уже от отчаяния сей постинг пишу тк уже обыскал всё и вся наерн
(крик души: чтот оза стремную тему мне дали...изобретение велосипеда!!!!!!!)
заранее спасибо...=)
C# создание отчетов в Excel и Word
От: Аноним  
Дата: 12.05.05 09:49
Оценка:
Объектная модель Excel с точки зрения разработчика под .NET


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: C# создание отчетов в Excel и Word
От: Аноним  
Дата: 12.05.05 09:51
Оценка:
Вот статья про Excel: How To Automate Microsoft Excel from Microsoft Visual C# .NET

Найти аналогичную про Word не составит труда.
Re: C# создание отчетов в Excel и Word
От: mamoNT2005  
Дата: 12.05.05 10:10
Оценка:
Здравствуйте, ganjaskier, Вы писали:


У меня тоже возникала задача создания отчетов в экселе. Для этого я юзал MLSpreadsheet (к сожалению поддерживается только в Office 2003 и XP), т.к. через Automation не удобно, да и медленно получается для больших отчетов. Для упрощения генерации отчетов написал небольшую либу, которая генеряет xml. При ее использовании получается примерно такой код:


using System;
using System.Drawing;
using Office.XLSGenerator;

namespace XLSGeneratorTest
{
    class Test
    {
        [STAThread]
        static void Main(string[] args)
        {
            //Создаем документ
            XLSDocument doc = new XLSDocument();
            //Добавляем стили
            XLSFont font = new XLSFont("Times New Roman", 8, Color.Black, false, true);
            doc.Styles.Add("s1", font, XLSAlignment.Default, new XLSInterior(Color.LightYellow), true);
            doc.Styles.Add("s2", font, XLSAlignment.Default, XLSInterior.Default, true, "0.00");
            
            //Добавляем лист
            XLSSheet sheet = doc.Sheets.Add("Лист1");
            //И формируем сам документ
            for (int i = 0; i < 5; i ++)
            {
                XLSRow row = sheet.Table.Rows.Add();
                for (int j = 0; j < 5; j++)
                {
                    row.Cells.Add(j + i, i%2 == 0 ? "s1" : "s2", XLSCellType.Number);
                }
            }

            doc.Save(@"d:\test.xls");
        }
        }
    }


Если надо могу поделиться.
Кстати есть еще здесь
Re[2]: C# создание отчетов в Excel и Word
От: Аноним  
Дата: 12.05.05 10:17
Оценка:
Здравствуйте, mamoNT2005, Вы писали:

NT>У меня тоже возникала задача создания отчетов в экселе. Для этого я юзал MLSpreadsheet (к сожалению поддерживается только в Office 2003 и XP), т.к. через Automation не удобно, да и медленно получается для больших отчетов. Для упрощения генерации отчетов написал небольшую либу, которая генеряет xml. При ее использовании получается примерно такой код:


Использование буфера позволяет получить очень хорошую скорость.
Re[3]: C# создание отчетов в Excel и Word
От: mamoNT2005  
Дата: 12.05.05 10:18
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Использование буфера позволяет получить очень хорошую скорость.

Ето как?
Re[4]: C# создание отчетов в Excel и Word
От: Аноним  
Дата: 12.05.05 11:19
Оценка:
Здравствуйте, mamoNT2005, Вы писали:

NT>Здравствуйте, Аноним, Вы писали:


А>>Использование буфера позволяет получить очень хорошую скорость.

NT>Ето как?

Данные наталкиваются в буфер обмена, а потом выполнятся Paste() для объекта Worksheet.
Re[5]: C# создание отчетов в Excel и Word
От: Аноним  
Дата: 12.05.05 12:35
Оценка:
блин вот спасибо большое!!! мне осталось только добраца до компилятора и опробовать тк доберусь аж тока ищо через
пару дней)))) еси есть ищо инфа кидайте =) а от либы не откажусь еси мона кидай на vintorez@inbox.ru с удовольствием
=)
Re[6]: Пользуй поиск
От: Аноним  
Дата: 12.05.05 12:47
Оценка:
Пользуй поиск
Re[7]: Пользуй поиск
От: ganjaskier  
Дата: 12.05.05 12:52
Оценка:
там где спасибо большое постинг это я писал...просто не залогинился...а поиск это сила...тока вот я бы здесь и не писал это всё
если бы предварительно не лазал безуспешно по поисковикам и по книжным магазинчикам
Re[8]: Пользуй поиск
От: Аноним  
Дата: 12.05.05 12:58
Оценка:
Ищи тут:
http://microsoft.com
http://rsdn.ru
http://gotdotnet.ru
Более чем уверен, что на вопросы начинающего ответы найдутся.
Re[9]: Пользуй поиск
От: ganjaskier  
Дата: 12.05.05 13:03
Оценка:
спасибо =)
Re[9]: Пользуй поиск
От: Аноним  
Дата: 12.05.05 22:07
Оценка:
Отчеты в экселе лучше строить через SpreadsheetXML по моему мнению

Подробней на сайте микрософта по поиску Office 2003 XML Schemas



данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re[10]: Пользуй поиск
От: Аноним  
Дата: 13.05.05 06:36
Оценка:
Здравствуйте, igor.kozlov, Вы писали:

IK>Отчеты в экселе лучше строить через SpreadsheetXML по моему мнению


IK>Подробней на сайте микрософта по поиску Office 2003 XML Schemas


Чтобы понять что лучше надо, по крайней мере, иметь требования.
Re[5]: C# создание отчетов в Excel и Word
От: Yehuda  
Дата: 28.11.07 15:18
Оценка:
Здравствуйте, Аноним, Вы писали:

NT>Automation не удобно, да и медленно получается для больших отчетов.


А>>Использование буфера позволяет получить очень хорошую скорость.

NT>>>Ето как?

А>Данные наталкиваются в буфер обмена, а потом выполнятся Paste() для объекта Worksheet.


Нельзя ли пояснить поподробнее, или примером.
Re[2]: C# создание отчетов в Excel и Word
От: Yehuda  
Дата: 28.11.07 15:52
Оценка:
NT>У меня тоже возникала задача создания отчетов в экселе. Для этого я юзал MLSpreadsheet (к сожалению поддерживается только в Office 2003 и XP), т.к. через Automation не удобно, да и медленно получается для больших отчетов. Для упрощения генерации отчетов написал небольшую либу, которая генеряет xml.

NT>Если надо могу поделиться.


Окажите любезность — y_kaptsan@yahoo.com
Re: C# создание отчетов в Excel и Word
От: Nixon Россия  
Дата: 29.11.07 03:24
Оценка:
Вот так можно открыть файл в excel
 
try
{
System.Diagnostics.ProcessStartInfo pInfo = new System.Diagnostics.ProcessStartInfo("excel.exe", ReportFileName);
System.Diagnostics.Process proc = System.Diagnostics.Process.Start(pInfo);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}

Вот так можно подготовить файл с отчетом
в данном случае на выходе получается .htm, открывается в Excel на ура
FileStream fs = new FileStream("report.htm", FileMode.Create);
XmlTextWriter xtw = new XmlTextWriter(fs, Encoding.Unicode);
XslTransform xslTran = new XslTransform();
//Построить список параметров XSLT из object[,] (XSLTParams[iCount, 0] - имя, XSLTParams[iCount, 1] значение)
XsltArgumentList xsltArgs = new XsltArgumentList();
for (int iCount = 0; iCount < XSLTParams.GetLength(0); iCount++)
{
xsltArgs.AddParam(XSLTParams[iCount, 0].ToString(), "", XSLTParams[iCount, 1]);
}
// здесь в качестве параметра должна быть строка указывающая на файл XSLT который будет использован при трансформации
xslTran.Load(PathToTemplates + TemplateName); 
DataSet ds; // заполняете его по своему усмотрению 
XmlDataDocument xdoc = new XmlDataDocument(ds);
ds.EnforceConstraints = false; // это не обязательно
xslTran.Transform(xdoc, xsltArgs, xtw, null); 
xtw.Close();
tbl.Dispose();
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.