03. februar 2003 - 21:10
Der er
9 kommentarer og 1 løsning
Lav Graph ud fra data
Jeg skal lave en graph ud fra noget data jeg har i forvejen. Hvordan feeder man et Graph objekt med data?
Annonceindlæg fra Thales
04. februar 2003 - 13:59
#1
kan du ikke bruge Crystal Reports? ellers prøv at kig på sourcen til det her program... han genererer den report (alle de grafer) med tal fra en database.
04. februar 2003 - 14:01
#2
hvilket program?
04. februar 2003 - 14:25
#3
04. februar 2003 - 18:45
#4
Han tegner sine kurver med Draw og ikke igennem Graph =/
07. februar 2003 - 09:11
#5
her er min kode so far: using System; using Microsoft.Office.Core; using PowerPoint = Microsoft.Office.Interop.PowerPoint; namespace pptGraph { class PptApp { [STAThread] static void Main(string[] args) { Microsoft.Office.Interop.PowerPoint.Application app = new Microsoft.Office.Interop.PowerPoint.Application(); PowerPoint._Presentation pres = app.Presentations.Add(MsoTriState.msoTrue); PowerPoint.Slides objSlides = pres.Slides; PowerPoint._Slide objSlide; objSlide = objSlides.Add(1, PowerPoint.PpSlideLayout.ppLayoutTitleOnly); Graph.Chart objChart = (Graph.Chart) objSlide.Shapes.AddOLEObject(150,150,480,320, "MSGraph.Chart", "", MsoTriState.msoFalse, "", 0, "", MsoTriState.msoFalse).OLEFormat.Object; objChart.ChartType = Graph.XlChartType.xl3DPie; PowerPoint.Slide sld = (PowerPoint.Slide) pres.Slides._Index(1); MsoShapeType typ; for(int i=1;i<=sld.Shapes.Count;i++) { PowerPoint.Shape shp = sld.Shapes[i]; typ = shp.Type; if(typ == MsoShapeType.msoEmbeddedOLEObject) { PowerPoint.OLEFormat fmt = shp.OLEFormat; string str = fmt.ProgID; Console.WriteLine(str); if(str == "MSGraph.Chart.8") { Graph.Chart chart = (Graph.Chart)fmt.Object; Graph.Application gapp = (Graph.Application) chart.Application; Graph.Range rng = (Graph.Range)gapp.DataSheet.Cells.get_Item(2, 1); Console.WriteLine(rng.get_Value(Type.Missing).ToString()); } } } } } } Linjen: Graph.Range rng = (Graph.Range)gapp.DataSheet.Cells.get_Item(2, 1); forårsager en fejl: 'System.Runtime.InteropServices.COMException' occurred in mscorlib.dll og jeg aner ikke hvad der skal til for at løse den...
07. februar 2003 - 09:21
#6
prøv at lav en Try... Catch og udskriv din exception try { Graph.Chart chart = (Graph.Chart)fmt.Object; Graph.Application gapp = (Graph.Application) chart.Application; Graph.Range rng = (Graph.Range)gapp.DataSheet.Cells.get_Item(2, 1); Console.WriteLine(rng.get_Value(Type.Missing).ToString()); } catch (Expection exc) { MessageBox.Show(exc.ToString()); }
07. februar 2003 - 09:30
#7
Old format or invalid type library
07. februar 2003 - 09:33
#8
System.Runtime.InteropServices.COMException (0x80028018): Old format or invalid type library. at System.RuntimeType.ForwardCallToInvokeMember(String memberName, BindingFla gs flags, Object target, Int32[] aWrapperTypes, MessageData& msgData) at Graph.Application.get_DataSheet() at pptGraph.PptApp.Main(String[] args) in c:\documents and settings\administr ator\my documents\visual studio projects\pptgraph\class1.cs:line 42
13. februar 2003 - 21:34
#9
got it.... System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("en-US"); Man skal ændre ovenstående så interop og lokale settings matcher...
13. februar 2003 - 22:47
#10
hehe... ja, der kunne en lidt mere nøjagtig fejl-meddelelse havde været dejligt ;)
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.