private Xdr.OneCellAnchor createImageAnchor(ImageDetails details) { var image = _images[details.ImageIndex]; long imgWidth = convertPixelsToEMUs(image.Width, image.HorizontalResolution); long imgHeight = convertPixelsToEMUs(image.Height, image.VerticalResolution); // ReSharper disable once CompareOfFloatsByEqualityOperator if (details.ImageScaleFactor != 0) { imgWidth = (long)(imgWidth * details.ImageScaleFactor); imgHeight = (long)(imgHeight * details.ImageScaleFactor); } // there is still work to be done here since the images can get fuzzy and there is no indent // but, since you cannot have thousands of cell images(which we need) without performance penalty in the Excel application itselft // we can easily and quickly generate such excel files, but Excel has trouble reading and rendering them // so for now this stay as is Xdr.OneCellAnchor oneCellAnchor = new Xdr.OneCellAnchor(); Xdr.FromMarker fromMarker1 = new Xdr.FromMarker(); Xdr.ColumnId columnId1 = new Xdr.ColumnId(); columnId1.Text = (details.Column - 1).ToString(); Xdr.ColumnOffset columnOffset1 = new Xdr.ColumnOffset(); columnOffset1.Text = "0"; Xdr.RowId rowId1 = new Xdr.RowId(); rowId1.Text = (details.Row - 1).ToString(); Xdr.RowOffset rowOffset1 = new Xdr.RowOffset(); rowOffset1.Text = "0"; fromMarker1.Append(columnId1); fromMarker1.Append(columnOffset1); fromMarker1.Append(rowId1); fromMarker1.Append(rowOffset1); var anchorExtent = new Xdr.Extent() { Cx = imgWidth, Cy = imgWidth }; //Xdr.ToMarker toMarker1 = new Xdr.ToMarker(); //Xdr.ColumnId columnId2 = new Xdr.ColumnId(); //columnId2.Text = (details.Column-1).ToString(); //Xdr.ColumnOffset columnOffset2 = new Xdr.ColumnOffset(); //columnOffset2.Text = "203175"; //Xdr.RowId rowId2 = new Xdr.RowId(); //rowId2.Text = (details.Row -1).ToString(); ; //Xdr.RowOffset rowOffset2 = new Xdr.RowOffset(); //rowOffset2.Text = "12675"; //toMarker1.Append(columnId2); //toMarker1.Append(columnOffset2); //toMarker1.Append(rowId2); //toMarker1.Append(rowOffset2); Xdr.Picture picture1 = new Xdr.Picture(); Xdr.NonVisualPictureProperties nonVisualPictureProperties1 = new Xdr.NonVisualPictureProperties(); UInt32Value id = (UInt32Value)_pictureCounter; _pictureCounter++; Xdr.NonVisualDrawingProperties nonVisualDrawingProperties1 = new Xdr.NonVisualDrawingProperties() { Id = id, Name = "Picture " + id }; Xdr.NonVisualPictureDrawingProperties nonVisualPictureDrawingProperties1 = new Xdr.NonVisualPictureDrawingProperties(); A.PictureLocks pictureLocks1 = new A.PictureLocks() { NoChangeAspect = true }; nonVisualPictureDrawingProperties1.Append(pictureLocks1); nonVisualPictureProperties1.Append(nonVisualDrawingProperties1); nonVisualPictureProperties1.Append(nonVisualPictureDrawingProperties1); Xdr.BlipFill blipFill1 = new Xdr.BlipFill(); A.Blip blip1 = new A.Blip() { Embed = "image" + details.ImageIndex }; blip1.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships"); A.BlipExtensionList blipExtensionList1 = new A.BlipExtensionList(); A.BlipExtension blipExtension1 = new A.BlipExtension() { Uri = "{28A0092B-C50C-407E-A947-70E740481C1C}" }; A14.UseLocalDpi useLocalDpi1 = new A14.UseLocalDpi() { Val = false }; useLocalDpi1.AddNamespaceDeclaration("a14", "http://schemas.microsoft.com/office/drawing/2010/main"); blipExtension1.Append(useLocalDpi1); blipExtensionList1.Append(blipExtension1); blip1.Append(blipExtensionList1); A.Stretch stretch1 = new A.Stretch(); A.FillRectangle fillRectangle1 = new A.FillRectangle(); stretch1.Append(fillRectangle1); blipFill1.Append(blip1); blipFill1.Append(stretch1); Xdr.ShapeProperties shapeProperties1 = new Xdr.ShapeProperties(); A.Transform2D transform2D1 = new A.Transform2D(); A.Offset offset1 = new A.Offset() { X = 0, Y = 0 }; A.Extents extents1 = new A.Extents() { Cx = imgWidth, Cy = imgHeight }; transform2D1.Append(offset1); transform2D1.Append(extents1); A.PresetGeometry presetGeometry1 = new A.PresetGeometry() { Preset = A.ShapeTypeValues.Rectangle }; A.AdjustValueList adjustValueList1 = new A.AdjustValueList(); presetGeometry1.Append(adjustValueList1); shapeProperties1.Append(transform2D1); shapeProperties1.Append(presetGeometry1); picture1.Append(nonVisualPictureProperties1); picture1.Append(blipFill1); picture1.Append(shapeProperties1); Xdr.ClientData clientData1 = new Xdr.ClientData(); oneCellAnchor.Append(fromMarker1); oneCellAnchor.Append(anchorExtent); //twoCellAnchor1.Append(toMarker1); oneCellAnchor.Append(picture1); oneCellAnchor.Append(clientData1); return(oneCellAnchor); }
/// <summary> /// Add the logo of the system /// </summary> /// <param name="logoPath">Path of the logo</param> /// <param name="worksheetPart">Worksheet Part</param> /// <returns>Drawing</returns> private static Drawing AddLogo(string logoPath, WorksheetPart worksheetPart) { string sImagePath = logoPath; DrawingsPart dp = worksheetPart.AddNewPart<DrawingsPart>(); ImagePart imgp = dp.AddImagePart(ImagePartType.Png, worksheetPart.GetIdOfPart(dp)); using (FileStream fs = new FileStream(sImagePath, FileMode.Open, FileAccess.Read)) { imgp.FeedData(fs); } DocumentFormat.OpenXml.Drawing.Spreadsheet.NonVisualDrawingProperties nvdp = new DocumentFormat.OpenXml.Drawing.Spreadsheet.NonVisualDrawingProperties(); nvdp.Id = 1025; nvdp.Name = "Picture 1"; nvdp.Description = "logo"; DocumentFormat.OpenXml.Drawing.PictureLocks picLocks = new DocumentFormat.OpenXml.Drawing.PictureLocks(); picLocks.NoChangeAspect = true; picLocks.NoChangeArrowheads = true; DocumentFormat.OpenXml.Drawing.Spreadsheet.NonVisualPictureDrawingProperties nvpdp = new DocumentFormat.OpenXml.Drawing.Spreadsheet.NonVisualPictureDrawingProperties(); nvpdp.PictureLocks = picLocks; DocumentFormat.OpenXml.Drawing.Spreadsheet.NonVisualPictureProperties nvpp = new DocumentFormat.OpenXml.Drawing.Spreadsheet.NonVisualPictureProperties(); nvpp.NonVisualDrawingProperties = nvdp; nvpp.NonVisualPictureDrawingProperties = nvpdp; DocumentFormat.OpenXml.Drawing.Stretch stretch = new DocumentFormat.OpenXml.Drawing.Stretch(); stretch.FillRectangle = new DocumentFormat.OpenXml.Drawing.FillRectangle(); DocumentFormat.OpenXml.Drawing.Spreadsheet.BlipFill blipFill = new DocumentFormat.OpenXml.Drawing.Spreadsheet.BlipFill(); DocumentFormat.OpenXml.Drawing.Blip blip = new DocumentFormat.OpenXml.Drawing.Blip(); blip.Embed = dp.GetIdOfPart(imgp); blip.CompressionState = DocumentFormat.OpenXml.Drawing.BlipCompressionValues.Print; blipFill.Blip = blip; blipFill.SourceRectangle = new DocumentFormat.OpenXml.Drawing.SourceRectangle(); blipFill.Append(stretch); DocumentFormat.OpenXml.Drawing.Transform2D t2d = new DocumentFormat.OpenXml.Drawing.Transform2D(); DocumentFormat.OpenXml.Drawing.Offset offset = new DocumentFormat.OpenXml.Drawing.Offset(); offset.X = 0; offset.Y = 0; t2d.Offset = offset; Bitmap bm = new Bitmap(sImagePath); DocumentFormat.OpenXml.Drawing.Extents extents = new DocumentFormat.OpenXml.Drawing.Extents(); extents.Cx = (long)bm.Width * (long)((float)914400 / bm.HorizontalResolution); extents.Cy = (long)bm.Height * (long)((float)914400 / bm.VerticalResolution); bm.Dispose(); t2d.Extents = extents; DocumentFormat.OpenXml.Drawing.Spreadsheet.ShapeProperties sp = new DocumentFormat.OpenXml.Drawing.Spreadsheet.ShapeProperties(); sp.BlackWhiteMode = DocumentFormat.OpenXml.Drawing.BlackWhiteModeValues.Auto; sp.Transform2D = t2d; DocumentFormat.OpenXml.Drawing.PresetGeometry prstGeom = new DocumentFormat.OpenXml.Drawing.PresetGeometry(); prstGeom.Preset = DocumentFormat.OpenXml.Drawing.ShapeTypeValues.Rectangle; prstGeom.AdjustValueList = new DocumentFormat.OpenXml.Drawing.AdjustValueList(); sp.Append(prstGeom); sp.Append(new DocumentFormat.OpenXml.Drawing.NoFill()); DocumentFormat.OpenXml.Drawing.Spreadsheet.Picture picture = new DocumentFormat.OpenXml.Drawing.Spreadsheet.Picture(); picture.NonVisualPictureProperties = nvpp; picture.BlipFill = blipFill; picture.ShapeProperties = sp; DocumentFormat.OpenXml.Drawing.Spreadsheet.Position pos = new DocumentFormat.OpenXml.Drawing.Spreadsheet.Position(); pos.X = 18 * 914400 / 72; pos.Y = 28 * 914400 / 72; Extent ext = new Extent(); ext.Cx = extents.Cx; ext.Cy = extents.Cy; AbsoluteAnchor anchor = new AbsoluteAnchor(); anchor.Position = pos; anchor.Extent = ext; anchor.Append(picture); anchor.Append(new ClientData()); WorksheetDrawing wsd = new WorksheetDrawing(); wsd.Append(anchor); Drawing drawing = new Drawing(); drawing.Id = dp.GetIdOfPart(imgp); wsd.Save(dp); return drawing; }
protected void ExcelDl_Click(object sender, EventArgs e) { Response.Clear(); Response.Buffer = true; Response.AddHeader("content-disposition", "attachment;filename=ViewHistoryChart.xlsx"); Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; Response.Charset = ""; StringWriter sw = new StringWriter(); HtmlTextWriter hw = new HtmlTextWriter(sw); Chart1.RenderControl(hw); using (MemoryStream stream = new MemoryStream()) { using (SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Create(stream, SpreadsheetDocumentType.Workbook)) { var fileName = HttpContext.Current.Request.PhysicalApplicationPath + @"\Charts\ChartImage.png"; WorkbookPart wbp = spreadsheetDocument.AddWorkbookPart(); WorksheetPart wsp = wbp.AddNewPart<WorksheetPart>(); Workbook wb = new Workbook(); FileVersion fv = new FileVersion(); fv.ApplicationName = "Microsoft Office Excel"; Worksheet ws = new Worksheet(); SheetData sd = new SheetData(); // add contents List<string> values = new List<string>(); //values.Add(lblSectionFunctionSelected.Text); uint i = 1; foreach (var value in values) { UInt32Value rowIndex = UInt32Value.FromUInt32(i); var row = new Row { RowIndex = rowIndex }; // add a row at the top of spreadsheet sd.Append(row); var cell = new Cell { CellValue = new CellValue(value), DataType = new EnumValue<CellValues>(CellValues.String) }; row.InsertAt(cell, 0); i++; } // add image DrawingsPart dp = wsp.AddNewPart<DrawingsPart>(); ImagePart imgp = dp.AddImagePart(ImagePartType.Png, wsp.GetIdOfPart(dp)); using (FileStream fs = new FileStream(fileName, FileMode.Open)) { imgp.FeedData(fs); } DocumentFormat.OpenXml.Drawing.Spreadsheet.NonVisualDrawingProperties nvdp = new DocumentFormat.OpenXml.Drawing.Spreadsheet.NonVisualDrawingProperties(); nvdp.Id = 1025; nvdp.Name = "Picture 1"; nvdp.Description = "Chart"; DocumentFormat.OpenXml.Drawing.PictureLocks picLocks = new DocumentFormat.OpenXml.Drawing.PictureLocks(); picLocks.NoChangeAspect = true; picLocks.NoChangeArrowheads = true; DocumentFormat.OpenXml.Drawing.Spreadsheet.NonVisualPictureDrawingProperties nvpdp = new DocumentFormat.OpenXml.Drawing.Spreadsheet.NonVisualPictureDrawingProperties(); nvpdp.PictureLocks = picLocks; DocumentFormat.OpenXml.Drawing.Spreadsheet.NonVisualPictureProperties nvpp = new DocumentFormat.OpenXml.Drawing.Spreadsheet.NonVisualPictureProperties(); nvpp.NonVisualDrawingProperties = nvdp; nvpp.NonVisualPictureDrawingProperties = nvpdp; DocumentFormat.OpenXml.Drawing.Stretch stretch = new DocumentFormat.OpenXml.Drawing.Stretch(); stretch.FillRectangle = new DocumentFormat.OpenXml.Drawing.FillRectangle(); DocumentFormat.OpenXml.Drawing.Spreadsheet.BlipFill blipFill = new DocumentFormat.OpenXml.Drawing.Spreadsheet.BlipFill(); DocumentFormat.OpenXml.Drawing.Blip blip = new DocumentFormat.OpenXml.Drawing.Blip(); blip.Embed = dp.GetIdOfPart(imgp); blip.CompressionState = DocumentFormat.OpenXml.Drawing.BlipCompressionValues.Print; blipFill.Blip = blip; blipFill.SourceRectangle = new DocumentFormat.OpenXml.Drawing.SourceRectangle(); blipFill.Append(stretch); DocumentFormat.OpenXml.Drawing.Transform2D t2d = new DocumentFormat.OpenXml.Drawing.Transform2D(); DocumentFormat.OpenXml.Drawing.Offset offset = new DocumentFormat.OpenXml.Drawing.Offset(); offset.X = 0; offset.Y = 0; t2d.Offset = offset; Bitmap bm = new Bitmap(fileName); //http://en.wikipedia.org/wiki/English_Metric_Unit#DrawingML //http://stackoverflow.com/questions/1341930/pixel-to-centimeter //http://stackoverflow.com/questions/139655/how-to-convert-pixels-to-points-px-to-pt-in-net-c DocumentFormat.OpenXml.Drawing.Extents extents = new DocumentFormat.OpenXml.Drawing.Extents(); extents.Cx = (long)bm.Width * (long)((float)914400 / bm.HorizontalResolution); extents.Cy = (long)bm.Height * (long)((float)914400 / bm.VerticalResolution); bm.Dispose(); t2d.Extents = extents; DocumentFormat.OpenXml.Drawing.Spreadsheet.ShapeProperties sp = new DocumentFormat.OpenXml.Drawing.Spreadsheet.ShapeProperties(); sp.BlackWhiteMode = DocumentFormat.OpenXml.Drawing.BlackWhiteModeValues.Auto; sp.Transform2D = t2d; DocumentFormat.OpenXml.Drawing.PresetGeometry prstGeom = new DocumentFormat.OpenXml.Drawing.PresetGeometry(); prstGeom.Preset = DocumentFormat.OpenXml.Drawing.ShapeTypeValues.Rectangle; prstGeom.AdjustValueList = new DocumentFormat.OpenXml.Drawing.AdjustValueList(); sp.Append(prstGeom); sp.Append(new DocumentFormat.OpenXml.Drawing.NoFill()); DocumentFormat.OpenXml.Drawing.Spreadsheet.Picture picture = new DocumentFormat.OpenXml.Drawing.Spreadsheet.Picture(); picture.NonVisualPictureProperties = nvpp; picture.BlipFill = blipFill; picture.ShapeProperties = sp; DocumentFormat.OpenXml.Drawing.Spreadsheet.Position pos = new DocumentFormat.OpenXml.Drawing.Spreadsheet.Position(); pos.X = 0; pos.Y = 10; Extent ext = new Extent(); ext.Cx = extents.Cx; ext.Cy = extents.Cy; AbsoluteAnchor anchor = new AbsoluteAnchor(); anchor.Position = pos; anchor.Extent = ext; anchor.Append(picture); anchor.Append(new ClientData()); WorksheetDrawing wsd = new WorksheetDrawing(); wsd.Append(anchor); Drawing drawing = new Drawing(); drawing.Id = dp.GetIdOfPart(imgp); wsd.Save(dp); ws.Append(sd); ws.Append(drawing); wsp.Worksheet = ws; wsp.Worksheet.Save(); Sheets sheets = new Sheets(); Sheet sheet = new Sheet(); sheet.Name = "history chart"; sheet.SheetId = 1; sheet.Id = wbp.GetIdOfPart(wsp); sheets.Append(sheet); wb.Append(fv); wb.Append(sheets); spreadsheetDocument.WorkbookPart.Workbook = wb; spreadsheetDocument.WorkbookPart.Workbook.Save(); spreadsheetDocument.Close(); } File.WriteAllBytes(HttpContext.Current.Request.PhysicalApplicationPath + @"\Charts\temp.xlsx", stream.ToArray()); } Response.WriteFile(HttpContext.Current.Request.PhysicalApplicationPath + @"\Charts\temp.xlsx"); Response.Flush(); Response.Close(); Response.End(); }
private static Drawing GetLogo(ExcelType excelType, WorksheetPart wsp, out uint startIndex) { var dp = wsp.AddNewPart<DrawingsPart>(); Drawing drawing; var sImagePath = GetLogoPath(excelType); if (string.IsNullOrEmpty(sImagePath)) { startIndex = 1; return null; } startIndex = 8; //sorry, I must do it in this way, MEmory stream oesn't work in FeedData. There are several discussions in the internet about it. ImagePart imgp = dp.AddImagePart(ImagePartType.Png, wsp.GetIdOfPart(dp)); var bm = new Bitmap(Resource.CEEX_small); //var bm = new Bitmap(@"ExcelProvider\_img\CEEX_small.png"); using (var ms = new MemoryStream()) { bm.Save(ms,ImageFormat.Png); ms.Seek(0, 0); imgp.FeedData(ms); } var nvdp = new NonVisualDrawingProperties(); nvdp.Id = 1025; nvdp.Name = "logo"; nvdp.Description = "polymathlogo"; var picLocks = new PictureLocks(); picLocks.NoChangeAspect = true; picLocks.NoChangeArrowheads = true; var nvpdp = new NonVisualPictureDrawingProperties(); nvpdp.PictureLocks = picLocks; var nvpp = new NonVisualPictureProperties(); nvpp.NonVisualDrawingProperties = nvdp; nvpp.NonVisualPictureDrawingProperties = nvpdp; var stretch = new Stretch(); stretch.FillRectangle = new FillRectangle(); var blipFill = new BlipFill(); var blip = new Blip(); blip.Embed = dp.GetIdOfPart(imgp); blip.CompressionState = BlipCompressionValues.Print; blipFill.Blip = blip; blipFill.SourceRectangle = new SourceRectangle(); blipFill.Append(stretch); var t2d = new Transform2D(); var offset = new Offset(); offset.X = 0; offset.Y = 0; t2d.Offset = offset; //http://en.wikipedia.org/wiki/English_Metric_Unit#DrawingML //http://stackoverflow.com/questions/1341930/pixel-to-centimeter //http://stackoverflow.com/questions/139655/how-to-convert-pixels-to-points-px-to-pt-in-net-c var extents = new Extents(); extents.Cx = bm.Width * (long)(914400 / bm.HorizontalResolution); extents.Cy = bm.Height * (long)(914400 / bm.VerticalResolution); bm.Dispose(); t2d.Extents = extents; var sp = new ShapeProperties(); sp.BlackWhiteMode = BlackWhiteModeValues.Auto; sp.Transform2D = t2d; var prstGeom = new PresetGeometry(); prstGeom.Preset = ShapeTypeValues.Rectangle; prstGeom.AdjustValueList = new AdjustValueList(); sp.Append(prstGeom); sp.Append(new NoFill()); var picture = new Picture(); picture.NonVisualPictureProperties = nvpp; picture.BlipFill = blipFill; picture.ShapeProperties = sp; var pos = new Position(); pos.X = 0; pos.Y = 0; var ext = new Extent(); ext.Cx = extents.Cx; ext.Cy = extents.Cy; var anchor = new AbsoluteAnchor(); anchor.Position = pos; anchor.Extent = ext; anchor.Append(picture); anchor.Append(new ClientData()); var wsd = new WorksheetDrawing(); wsd.Append(anchor); drawing = new Drawing(); drawing.Id = dp.GetIdOfPart(imgp); wsd.Save(dp); return drawing; }
private static void GeneratePartContentPie(DrawingsPart part, ChartPart chartPart1, int row, bool newe) { Xdr.WorksheetDrawing worksheetDrawing1 = new Xdr.WorksheetDrawing(); if (newe) { worksheetDrawing1.AddNamespaceDeclaration("xdr", "http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing"); worksheetDrawing1.AddNamespaceDeclaration("a", "http://schemas.openxmlformats.org/drawingml/2006/main"); worksheetDrawing1.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships"); worksheetDrawing1.AddNamespaceDeclaration("c", "http://schemas.openxmlformats.org/drawingml/2006/chart"); worksheetDrawing1.AddNamespaceDeclaration("cx", "http://schemas.microsoft.com/office/drawing/2014/chartex"); worksheetDrawing1.AddNamespaceDeclaration("cx1", "http://schemas.microsoft.com/office/drawing/2015/9/8/chartex"); worksheetDrawing1.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006"); worksheetDrawing1.AddNamespaceDeclaration("dgm", "http://schemas.openxmlformats.org/drawingml/2006/diagram"); } Xdr.OneCellAnchor oneCellAnchor1 = new Xdr.OneCellAnchor(); Xdr.FromMarker fromMarker1 = new Xdr.FromMarker(); Xdr.ColumnId columnId1 = new Xdr.ColumnId(); columnId1.Text = "0"; Xdr.ColumnOffset columnOffset1 = new Xdr.ColumnOffset(); columnOffset1.Text = "0"; Xdr.RowId rowId1 = new Xdr.RowId(); rowId1.Text = row.ToString(); Xdr.RowOffset rowOffset1 = new Xdr.RowOffset(); rowOffset1.Text = "0"; fromMarker1.Append(columnId1); fromMarker1.Append(columnOffset1); fromMarker1.Append(rowId1); fromMarker1.Append(rowOffset1); Xdr.Extent extent1 = new Xdr.Extent() { Cx = 5743575L, Cy = 2667000L }; Xdr.GraphicFrame graphicFrame1 = new Xdr.GraphicFrame(); Xdr.NonVisualGraphicFrameProperties nonVisualGraphicFrameProperties1 = new Xdr.NonVisualGraphicFrameProperties(); Xdr.NonVisualDrawingProperties nonVisualDrawingProperties1 = new Xdr.NonVisualDrawingProperties() { Id = (UInt32Value)(uint)row, Name = "Chart " + row.ToString() }; Xdr.NonVisualGraphicFrameDrawingProperties nonVisualGraphicFrameDrawingProperties1 = new Xdr.NonVisualGraphicFrameDrawingProperties(); nonVisualGraphicFrameProperties1.Append(nonVisualDrawingProperties1); nonVisualGraphicFrameProperties1.Append(nonVisualGraphicFrameDrawingProperties1); Xdr.Transform transform1 = new Xdr.Transform(); A.Offset offset1 = new A.Offset() { X = 0L, Y = 0L }; A.Extents extents1 = new A.Extents() { Cx = 0L, Cy = 0L }; transform1.Append(offset1); transform1.Append(extents1); A.Graphic graphic1 = new A.Graphic(); A.GraphicData graphicData1 = new A.GraphicData() { Uri = "http://schemas.openxmlformats.org/drawingml/2006/chart" }; C.ChartReference chartReference1 = new C.ChartReference() { Id = part.GetIdOfPart(chartPart1) }; graphicData1.Append(chartReference1); graphic1.Append(graphicData1); graphicFrame1.Append(nonVisualGraphicFrameProperties1); graphicFrame1.Append(transform1); graphicFrame1.Append(graphic1); Xdr.ClientData clientData1 = new Xdr.ClientData() { LockWithSheet = false }; oneCellAnchor1.Append(fromMarker1); oneCellAnchor1.Append(extent1); oneCellAnchor1.Append(graphicFrame1); oneCellAnchor1.Append(clientData1); if (newe) { worksheetDrawing1.Append(oneCellAnchor1); part.WorksheetDrawing = worksheetDrawing1; } else { part.WorksheetDrawing.Append(oneCellAnchor1); } }
// Generates content of drawingsPart2. private void GenerateDrawingsPart2Content(DrawingsPart drawingsPart2) { Xdr.WorksheetDrawing worksheetDrawing2 = new Xdr.WorksheetDrawing(); worksheetDrawing2.AddNamespaceDeclaration("xdr", "http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing"); worksheetDrawing2.AddNamespaceDeclaration("a", "http://schemas.openxmlformats.org/drawingml/2006/main"); Xdr.TwoCellAnchor twoCellAnchor5 = new Xdr.TwoCellAnchor(); Xdr.FromMarker fromMarker5 = new Xdr.FromMarker(); Xdr.ColumnId columnId9 = new Xdr.ColumnId(); columnId9.Text = "6"; Xdr.ColumnOffset columnOffset9 = new Xdr.ColumnOffset(); columnOffset9.Text = "571500"; Xdr.RowId rowId9 = new Xdr.RowId(); rowId9.Text = "5"; Xdr.RowOffset rowOffset9 = new Xdr.RowOffset(); rowOffset9.Text = "147637"; fromMarker5.Append(columnId9); fromMarker5.Append(columnOffset9); fromMarker5.Append(rowId9); fromMarker5.Append(rowOffset9); Xdr.ToMarker toMarker5 = new Xdr.ToMarker(); Xdr.ColumnId columnId10 = new Xdr.ColumnId(); columnId10.Text = "14"; Xdr.ColumnOffset columnOffset10 = new Xdr.ColumnOffset(); columnOffset10.Text = "266700"; Xdr.RowId rowId10 = new Xdr.RowId(); rowId10.Text = "20"; Xdr.RowOffset rowOffset10 = new Xdr.RowOffset(); rowOffset10.Text = "33337"; toMarker5.Append(columnId10); toMarker5.Append(columnOffset10); toMarker5.Append(rowId10); toMarker5.Append(rowOffset10); Xdr.GraphicFrame graphicFrame2 = new Xdr.GraphicFrame() { Macro = "" }; Xdr.NonVisualGraphicFrameProperties nonVisualGraphicFrameProperties2 = new Xdr.NonVisualGraphicFrameProperties(); Xdr.NonVisualDrawingProperties nonVisualDrawingProperties11 = new Xdr.NonVisualDrawingProperties() { Id = (UInt32Value)2U, Name = "Chart 1" }; Xdr.NonVisualGraphicFrameDrawingProperties nonVisualGraphicFrameDrawingProperties2 = new Xdr.NonVisualGraphicFrameDrawingProperties(); nonVisualGraphicFrameProperties2.Append(nonVisualDrawingProperties11); nonVisualGraphicFrameProperties2.Append(nonVisualGraphicFrameDrawingProperties2); Xdr.Transform transform2 = new Xdr.Transform(); A.Offset offset15 = new A.Offset() { X = 0L, Y = 0L }; A.Extents extents15 = new A.Extents() { Cx = 0L, Cy = 0L }; transform2.Append(offset15); transform2.Append(extents15); A.Graphic graphic2 = new A.Graphic(); A.GraphicData graphicData2 = new A.GraphicData() { Uri = "http://schemas.openxmlformats.org/drawingml/2006/chart" }; C.ChartReference chartReference1 = new C.ChartReference() { Id = "rId1" }; chartReference1.AddNamespaceDeclaration("c", "http://schemas.openxmlformats.org/drawingml/2006/chart"); chartReference1.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships"); graphicData2.Append(chartReference1); graphic2.Append(graphicData2); graphicFrame2.Append(nonVisualGraphicFrameProperties2); graphicFrame2.Append(transform2); graphicFrame2.Append(graphic2); Xdr.ClientData clientData5 = new Xdr.ClientData(); twoCellAnchor5.Append(fromMarker5); twoCellAnchor5.Append(toMarker5); twoCellAnchor5.Append(graphicFrame2); twoCellAnchor5.Append(clientData5); Xdr.OneCellAnchor oneCellAnchor1 = new Xdr.OneCellAnchor(); Xdr.FromMarker fromMarker6 = new Xdr.FromMarker(); Xdr.ColumnId columnId11 = new Xdr.ColumnId(); columnId11.Text = "17"; Xdr.ColumnOffset columnOffset11 = new Xdr.ColumnOffset(); columnOffset11.Text = "186742"; Xdr.RowId rowId11 = new Xdr.RowId(); rowId11.Text = "11"; Xdr.RowOffset rowOffset11 = new Xdr.RowOffset(); rowOffset11.Text = "174123"; fromMarker6.Append(columnId11); fromMarker6.Append(columnOffset11); fromMarker6.Append(rowId11); fromMarker6.Append(rowOffset11); Xdr.Extent extent1 = new Xdr.Extent() { Cx = 3627019L, Cy = 937629L }; Xdr.Shape shape11 = new Xdr.Shape() { Macro = "", TextLink = "" }; Xdr.NonVisualShapeProperties nonVisualShapeProperties3 = new Xdr.NonVisualShapeProperties(); Xdr.NonVisualDrawingProperties nonVisualDrawingProperties12 = new Xdr.NonVisualDrawingProperties() { Id = (UInt32Value)3U, Name = "Rectangle 2" }; Xdr.NonVisualShapeDrawingProperties nonVisualShapeDrawingProperties3 = new Xdr.NonVisualShapeDrawingProperties(); nonVisualShapeProperties3.Append(nonVisualDrawingProperties12); nonVisualShapeProperties3.Append(nonVisualShapeDrawingProperties3); Xdr.ShapeProperties shapeProperties35 = new Xdr.ShapeProperties(); A.Transform2D transform2D14 = new A.Transform2D() { Rotation = 1966164 }; A.Offset offset16 = new A.Offset() { X = 10549942L, Y = 3793623L }; A.Extents extents16 = new A.Extents() { Cx = 3627019L, Cy = 937629L }; transform2D14.Append(offset16); transform2D14.Append(extents16); A.PresetGeometry presetGeometry9 = new A.PresetGeometry() { Preset = A.ShapeTypeValues.Rectangle }; A.AdjustValueList adjustValueList9 = new A.AdjustValueList(); presetGeometry9.Append(adjustValueList9); A.NoFill noFill1 = new A.NoFill(); shapeProperties35.Append(transform2D14); shapeProperties35.Append(presetGeometry9); shapeProperties35.Append(noFill1); Xdr.TextBody textBody24 = new Xdr.TextBody(); A.BodyProperties bodyProperties24 = new A.BodyProperties() { Wrap = A.TextWrappingValues.None, LeftInset = 91440, TopInset = 45720, RightInset = 91440, BottomInset = 45720 }; A.ShapeAutoFit shapeAutoFit1 = new A.ShapeAutoFit(); bodyProperties24.Append(shapeAutoFit1); A.ListStyle listStyle24 = new A.ListStyle(); A.Paragraph paragraph24 = new A.Paragraph(); A.ParagraphProperties paragraphProperties7 = new A.ParagraphProperties() { Alignment = A.TextAlignmentTypeValues.Center }; A.Run run12 = new A.Run(); A.RunProperties runProperties12 = new A.RunProperties() { Language = "en-US", FontSize = 5400, Bold = true, Capital = A.TextCapsValues.None, Spacing = 0 }; A.Outline outline10 = new A.Outline() { Width = 22225 }; A.SolidFill solidFill18 = new A.SolidFill(); A.SchemeColor schemeColor191 = new A.SchemeColor() { Val = A.SchemeColorValues.Accent2 }; solidFill18.Append(schemeColor191); A.PresetDash presetDash9 = new A.PresetDash() { Val = A.PresetLineDashValues.Solid }; outline10.Append(solidFill18); outline10.Append(presetDash9); A.SolidFill solidFill19 = new A.SolidFill(); A.SchemeColor schemeColor192 = new A.SchemeColor() { Val = A.SchemeColorValues.Accent2 }; A.LuminanceModulation luminanceModulation1 = new A.LuminanceModulation() { Val = 40000 }; A.LuminanceOffset luminanceOffset11 = new A.LuminanceOffset() { Val = 60000 }; schemeColor192.Append(luminanceModulation1); schemeColor192.Append(luminanceOffset11); solidFill19.Append(schemeColor192); A.EffectList effectList9 = new A.EffectList(); runProperties12.Append(outline10); runProperties12.Append(solidFill19); runProperties12.Append(effectList9); A.Text text12 = new A.Text(); text12.Text = "Hello"; run12.Append(runProperties12); run12.Append(text12); A.Run run13 = new A.Run(); A.RunProperties runProperties13 = new A.RunProperties() { Language = "en-US", FontSize = 5400, Bold = true, Capital = A.TextCapsValues.None, Spacing = 0, Baseline = 0 }; A.Outline outline11 = new A.Outline() { Width = 22225 }; A.SolidFill solidFill20 = new A.SolidFill(); A.SchemeColor schemeColor193 = new A.SchemeColor() { Val = A.SchemeColorValues.Accent2 }; solidFill20.Append(schemeColor193); A.PresetDash presetDash10 = new A.PresetDash() { Val = A.PresetLineDashValues.Solid }; outline11.Append(solidFill20); outline11.Append(presetDash10); A.SolidFill solidFill21 = new A.SolidFill(); A.SchemeColor schemeColor194 = new A.SchemeColor() { Val = A.SchemeColorValues.Accent2 }; A.LuminanceModulation luminanceModulation2 = new A.LuminanceModulation() { Val = 40000 }; A.LuminanceOffset luminanceOffset12 = new A.LuminanceOffset() { Val = 60000 }; schemeColor194.Append(luminanceModulation2); schemeColor194.Append(luminanceOffset12); solidFill21.Append(schemeColor194); A.EffectList effectList10 = new A.EffectList(); runProperties13.Append(outline11); runProperties13.Append(solidFill21); runProperties13.Append(effectList10); A.Text text13 = new A.Text(); text13.Text = " World"; run13.Append(runProperties13); run13.Append(text13); A.EndParagraphRunProperties endParagraphRunProperties13 = new A.EndParagraphRunProperties() { Language = "en-US", FontSize = 5400, Bold = true, Capital = A.TextCapsValues.None, Spacing = 0 }; A.Outline outline12 = new A.Outline() { Width = 22225 }; A.SolidFill solidFill22 = new A.SolidFill(); A.SchemeColor schemeColor195 = new A.SchemeColor() { Val = A.SchemeColorValues.Accent2 }; solidFill22.Append(schemeColor195); A.PresetDash presetDash11 = new A.PresetDash() { Val = A.PresetLineDashValues.Solid }; outline12.Append(solidFill22); outline12.Append(presetDash11); A.SolidFill solidFill23 = new A.SolidFill(); A.SchemeColor schemeColor196 = new A.SchemeColor() { Val = A.SchemeColorValues.Accent2 }; A.LuminanceModulation luminanceModulation3 = new A.LuminanceModulation() { Val = 40000 }; A.LuminanceOffset luminanceOffset13 = new A.LuminanceOffset() { Val = 60000 }; schemeColor196.Append(luminanceModulation3); schemeColor196.Append(luminanceOffset13); solidFill23.Append(schemeColor196); A.EffectList effectList11 = new A.EffectList(); endParagraphRunProperties13.Append(outline12); endParagraphRunProperties13.Append(solidFill23); endParagraphRunProperties13.Append(effectList11); paragraph24.Append(paragraphProperties7); paragraph24.Append(run12); paragraph24.Append(run13); paragraph24.Append(endParagraphRunProperties13); textBody24.Append(bodyProperties24); textBody24.Append(listStyle24); textBody24.Append(paragraph24); shape11.Append(nonVisualShapeProperties3); shape11.Append(shapeProperties35); shape11.Append(textBody24); Xdr.ClientData clientData6 = new Xdr.ClientData(); oneCellAnchor1.Append(fromMarker6); oneCellAnchor1.Append(extent1); oneCellAnchor1.Append(shape11); oneCellAnchor1.Append(clientData6); worksheetDrawing2.Append(twoCellAnchor5); worksheetDrawing2.Append(oneCellAnchor1); drawingsPart2.WorksheetDrawing = worksheetDrawing2; }