public RelatedUrlComponent(Page page, int index, string url) : base(page) { string docPath = Constants.MyShapesFolder + "\\RationallyHidden.vssx"; Document rationallyDocument = Globals.RationallyAddIn.Application.Documents.OpenEx(docPath, (short)VisOpenSaveArgs.visAddHidden); Master rectMaster = rationallyDocument.Masters["LinkIcon"]; Shape = page.Drop(rectMaster, 0, 0); Hyperlink link = Shape.AddHyperlink(); link.Address = url; EventDblClick = VisioFormulas.Formula_OpenHyperlink; InitStyle(); Name = ShapeNames.RelatedUrl; RationallyType = ShapeNames.TypeRelatedUrl; Index = index; AddAction("addRelatedFile", string.Format(VisioFormulas.Formula_QUEUMARKEREVENT, "addRelatedFile"), Messages.Menu_AddFile, false); AddAction("addRelatedUrl", string.Format(VisioFormulas.Formula_QUEUMARKEREVENT, "addRelatedUrl"), Messages.Menu_AddUrl, false); AddAction("deleteRelatedDocument", string.Format(VisioFormulas.Formula_QUEUMARKEREVENT, "delete"), Messages.Menu_DeleteDocument, false); rationallyDocument.Close(); }
private void btnNewExcel_Click(object sender, EventArgs e) { Workbook workbook = new Workbook(); workbook.Worksheets.Clear(); Worksheet sheet = workbook.Worksheets.Add("Test"); sheet.IsGridlinesVisible = false; Shape recshape = sheet.Shapes.AddAutoShape(AutoShapeType.RoundSingleCornerRectangle, 0, 0, 2, 1, 20, 60); recshape.Bottom = 3; recshape.Height = 38; recshape.Left = 2; recshape.LeftToCorner = 46; recshape.Placement = PlacementType.MoveAndSize; recshape.Right = 127; recshape.TextHorizontalAlignment = TextAlignmentType.Center; recshape.TextHorizontalOverflow = TextOverflowType.Clip; recshape.TextOptions.Color = Color.FromArgb(255, 255, 192, 0); //recshape.TextOptions.Name = "微软雅黑"; recshape.TextVerticalAlignment = TextAlignmentType.Center; recshape.TextVerticalOverflow = TextOverflowType.Clip; recshape.Top = 1; recshape.TopToCorner = 1; recshape.Width = 125; //recshape.X = 46; recshape.Font.Size = 11; recshape.Font.Name = "微软雅黑"; recshape.Fill.FillType = FillType.Solid; recshape.Text = "返回"; Hyperlink link = recshape.AddHyperlink("http://www.baidu.com"); #region 生成目录表 IList <schemata> schemataList = null; IList <Table> tableList = null; string owneer = "dba"; using (var conn = new PostgresHelper(dbConnectionString)) { schemataList = conn.Query <schemata>($@"select * from information_schema.schemata where schema_owner = '{owneer}'").ToList <schemata>(); string schemas = schemataList.Select(p => "'" + p.schema_name + "'").Aggregate((a, b) => a + " , " + b); tableList = conn.Query <Table>($"select * from information_schema.tables where table_schema in ({schemas})").ToList <Table>(); } Worksheet tableSheet = workbook.Worksheets.Add("表集合"); int impResult = tableSheet.Cells.ImportCustomObjects(tableList.ToList(), 0, 0, new ImportTableOptions { }); tableSheet.IsGridlinesVisible = false; int totalcols = tableSheet.Cells.MaxDataColumn + 1; int totalrows = tableSheet.Cells.MaxDataRow + 1; Range rge = tableSheet.Cells.CreateRange(0, 0, totalrows, totalcols); //rge.SetOutlineBorder(BorderType.TopBorder, CellBorderType.Thick, Color.Blue); //rge.SetOutlineBorder(BorderType.BottomBorder, CellBorderType.Thick, Color.Blue); //rge.SetOutlineBorder(BorderType.LeftBorder, CellBorderType.Thick, Color.Blue); //rge.SetOutlineBorder(BorderType.RightBorder, CellBorderType.Thick, Color.Blue); //rge.SetOutlineBorder(BorderType.DiagonalUp, CellBorderType.Thick, Color.Blue); //rge.SetOutlineBorder(BorderType.Horizontal, CellBorderType.Thick, Color.Blue); //rge.SetOutlineBorder(BorderType.Vertical, CellBorderType.Thick, Color.Blue); rge.SetOutlineBorders(new CellBorderType[] { CellBorderType.Thick, CellBorderType.Thin, CellBorderType.Thick, CellBorderType.Thin }, new Color[] { Color.Black, Color.Red, Color.Black, Color.Red }); int startColumn = CellsHelper.ColumnNameToIndex("M") + 1; int columnCount = CellsHelper.ColumnNameToIndex("XFD") - startColumn + 1; tableSheet.Cells.HideColumns(startColumn, columnCount); #endregion string fileName = $"NewExcel_{DateTime.Now.ToString("yyyyMMddHHmmss")}.xlsx"; workbook.Save(Path.Combine(basePath, fileName), SaveFormat.Xlsx); this.Close(); }