Máme tedy sešit s daty. Ještě se zastavím u popisu metody Workbook.Open:Microsoft.Office.Interop.Excel.Application excAplikace =
new Microsoft.Office.Interop.Excel.Application();
excAplikace.DisplayAlerts = false;
_Workbook excWorkBook = excAplikace.Workbooks.Open(
cestaKSouboru, // FileName
0, // UpdateLinks
false, // ReadOnlyMissing.Value, //
FormatMissing.Value, // Password
Missing.Value, // WriteResPassword
true, // IgnoreReadOnlyRecommended
Missing.Value, // Origin
Missing.Value, // Delimiter
Missing.Value, // Editable
false, // Notify
Missing.Value, // Converter
false, // AddToMru
Missing.Value, // Local
Missing.Value);// CorruptLoad
_Worksheet excSesit = (_Worksheet)excWorkBook.ActiveSheet;
- FileName - úplná cesta k excel souboru
- UpdateLinks - Volitelný parametr. Popravdě nevím, co to jsou links in file, takže jen přeložím, co píšou v msdn: Specifikuje způsob, jakým jsou spojení v souboru updatovány. Pokud je argument vynechán, bude uživatel dotázán na způsob updatování. Jinak argument nabývá jedné z následujících hodnot:
2 - Nikdy neprovádět update pro tento WorkBook při otevírání
3 - Vždy updatovat pro tento WorkBook při otevírání
- ReadOnly -Volitelný parametr. True pro otevření WorkBooku v režimu jen pro čtení
- Format - Volitelný parametr. Pokud Microsoft Excel otevírá textový sobor, tento argument specifikuje oddělovací znak. Může nabývat těchto hodnot:
2 - Pomlčky
3 - Mezery
4 - Středníky
5 - Nic
6 - Volitelný znak
- Password - Volitelný argument. Řetězec s heslem, které je vyžadováno k otevření chráněného WorkBooku. Pokud je argument vynechán a heslo je vyžadováno, bude uživatel vyzván k zadání hesla.
- WriteResPassword - Volitelný argument. Řetězec s heslem, které je vyžadováno k otevření WorkBooku, který je chráněn proti zápisu (bez hesla jej lze ale číst).
- IgnoreReadOnlyRecommended - Volitelný argument. True, pokud nechceme zobrazit zprávu, že je doporučován režim pouze pro čtení (pokud byl WorkBook uložen s možností Read-Only Recommended)
- Origin - Volitelný argument. Pokud se jedná o textový soubor, indikuje, kde byl vytvořen. Může se jednat o jednu z následujících XlPlatform konstatnt: xlMacintosh, xlWindows nebo xlMSDOS. Pokud je argument vynechán, je použit operační systém, pod kterým se právě vykonává kód.
- Delimiter - Volitelný argument. Pokud se jedná o textový soubor a argument Format má hodnotu 6 (viz. výše), tento argument specifikuje řetězec, který se použije jako dělící znak. je použit pouze první znak z řetězce.
- Editable - Volitelný argument. Pokud je soubor Microsoft Excel 4.0 add-in, pak při hodnotě true, pak je add-in otevřen ve viditelném okně. Pokud je argument false nebo vynechán, je add-in otevřen jako skrytý a nelze jej dodatečně zobrazit. Tato volba se nevztahuje na add-in vytvořený v Microsoft Excelu 5.0 a vyšším. Pokud je soubor Excel šablona, použijte true, pro otevření šablony pro editování. False pro otevření nového WorkBooku založeného na šabloně. Defaultní hodnota je false.
- Notify - Volitelný argument. Pokud nemůže být soubor otevřen v režimu pro zápis nebo čtení, tento argument je true, pokud chceme přidat soubor do seznamu upozornění. Excel otevře soubor pouze pro čtení a dá uživateli vědět ve chvíli, kdy je soubor dostupný.
- Converter - Volitelný argument. Index na první převaděč souborů (file convertor), který se má použít při otevírání souboru. Zvolený převaděč se vyzkouší jako první.
- AddToMru - Volitelný argument. True, pokud chceme přidat WorkBook do seznamu naposled otevřených souborů. Defaultní hodnota je false.
- Local - Volitelný argument. True, pokud chceme uložit soubor s jazykem Microsoft Excelu. False (default) uloží soubor s jazykem Visual Basic for Application.
- CorruptLoad - Volitelný argument. Může být jedna z následujících konstant: xlNormalLoad, xlRepairFile a xlExtractData. Klasické chování, pokud je argument vynechán, je následující: Excel se pokusí otevřít soubor klasickým způsobem. Při nezdaru se pokusí opravit soubor. Pokud i to neuspěje, dalším pokusem je získání dat ze souboru.
Vytvoříme si objekt grafu:
_Chart excGraf = (Chart)excWorkBook.Charts.Add(
Missing.Value,
Missing.Value,
Missing.Value,
Missing.Value);
excGraf.ChartType = XlChartType.xlLineMarkers; // spojnicový graf se značkami
Vytvoříme sadu dat:Series excSadaDat = ((SeriesCollection)excGraf.SeriesCollection(Missing.Value)).NewSeries();
// hodnoty na ose X - objekt typu Range
series.XValues = excOblastDatX;// hodnoty na ose Y
series.Values = excOblastDatY;
Kde oblastDatX a oblastDatY získáme pomocí metody excSesit.get_range(object, object).
Jako první argument zadáme horní buňku rozsahu a jako druhý argument zadáme poslední spodní buňku rozsahu (např. excSesit.Cells[1, 1]).
Jako první argument zadáme horní buňku rozsahu a jako druhý argument zadáme poslední spodní buňku rozsahu (např. excSesit.Cells[1, 1]).
Nastavíme vlastnosti grafu. POZOR, tyto vlastnosti nastavovat až po specifikování rozsahu dat, jinak skončí chybou.
excGraf.HasLegend = false; // nechceme legendu
excGraf.HasTitle = true; // chceme popisek grafu
excGraf.ChartTitle.Text = "Popis grafu"; // text popisku
excGraf.Location(XlChartLocation.xlLocationAsObject, excSesit.Name); // umístění grafu k datům
Nastavíme vlastnosti osy X a osy Y:Axis excOsaX = (Axis)excGraf.Axes(XlAxisType.xlCategory, XlAxisGroup.xlPrimary);
excOsaX.CategoryType = XlCategoryType.xlCategoryScale; // důležité, pokud máme DateTime data
excOsaX.HasTitle = true;
excOsaX.AxisTitle.Text = "Datum a cas mereni";
excOsaX.HasMajorGridlines = true;
excOsaX.HasMinorGridlines = false;
Axis excOsaY = (Axis)excGraf.Axes(XlAxisType.xlValue, XlAxisGroup.xlPrimary);
excOsaY.HasTitle = true;
excOsaY.AxisTitle.Text = "Teplota";
excOsaY.HasMajorGridlines = true;
excOsaY.HasMinorGridlines = false;
Uložíme změny:excSesit.SaveAs(cestaKSouboru, Missing.Value, Missing.Value, Missing.Value,
Missing.Value, false, false, Missing.Value, Missing.Value, Missing.Value);
Výsledný graf pak bude vypadat zhruba takto:
Žádné komentáře:
Okomentovat