здрасте...сразу скажу в C# я полный чайник но моя бакалаврская работа требует именно писание проги на этом языке...вощем
помогите пожалуйста подскажите с чего начать: требуется создание отчетотв в word, excel,xml...т.е. без всяких crystal reports без всего такова...мне нужно просто вручную писать программный код вызывать там excel и например так же в опеределенные
ячейки туда забивать инфу и все именно чтобы это генерировалось в программном коде...инфа вся из БД собираеца.
еси у каво есть приведите плз пример рабочего кода или хотябы строчек из него (например как word или excel вызвать и
простенько туда чонить забросать)...ну ссылки если кто знает по этому поводу киньте пожалуйста...
я уже от отчаяния сей постинг пишу тк уже обыскал всё и вся наерн
(крик души: чтот оза стремную тему мне дали...изобретение велосипеда!!!!!!!)
заранее спасибо...=)
У меня тоже возникала задача создания отчетов в экселе. Для этого я юзал 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");
}
}
}
Здравствуйте, mamoNT2005, Вы писали:
NT>У меня тоже возникала задача создания отчетов в экселе. Для этого я юзал MLSpreadsheet (к сожалению поддерживается только в Office 2003 и XP), т.к. через Automation не удобно, да и медленно получается для больших отчетов. Для упрощения генерации отчетов написал небольшую либу, которая генеряет xml. При ее использовании получается примерно такой код:
Использование буфера позволяет получить очень хорошую скорость.
Здравствуйте, Аноним, Вы писали:
А>Использование буфера позволяет получить очень хорошую скорость.
Ето как?
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 с удовольствием
=)
там где спасибо большое постинг это я писал...просто не залогинился...а поиск это сила...тока вот я бы здесь и не писал это всё
если бы предварительно не лазал безуспешно по поисковикам и по книжным магазинчикам
Здравствуйте, igor.kozlov, Вы писали:
IK>Отчеты в экселе лучше строить через SpreadsheetXML по моему мнению
IK>Подробней на сайте микрософта по поиску Office 2003 XML Schemas
Чтобы понять что лучше надо, по крайней мере, иметь требования.
Здравствуйте, Аноним, Вы писали:
NT>Automation не удобно, да и медленно получается для больших отчетов.
А>>Использование буфера позволяет получить очень хорошую скорость. NT>>>Ето как?
А>Данные наталкиваются в буфер обмена, а потом выполнятся Paste() для объекта Worksheet.
NT>У меня тоже возникала задача создания отчетов в экселе. Для этого я юзал MLSpreadsheet (к сожалению поддерживается только в Office 2003 и XP), т.к. через Automation не удобно, да и медленно получается для больших отчетов. Для упрощения генерации отчетов написал небольшую либу, которая генеряет xml.
NT>Если надо могу поделиться.
Вот так можно подготовить файл с отчетом
в данном случае на выходе получается .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();