private void writeHyperLinks_Click(object sender, System.EventArgs e) { if (Xls == null) { MessageBox.Show("You need to open a file first."); return; } ExcelFile XlsOut = new XlsFile(true); XlsOut.NewFile(1, TExcelFileFormat.v2019); for (int i = 1; i <= Xls.HyperLinkCount; i++) { TXlsCellRange Range = Xls.GetHyperLinkCellRange(i); THyperLink HLink = Xls.GetHyperLink(i); int XF = -1; object Value = Xls.GetCellValue(Range.Top, Range.Left, ref XF); XlsOut.SetCellValue(i, 1, Value, XlsOut.AddFormat(Xls.GetFormat(XF))); XlsOut.AddHyperLink(new TXlsCellRange(i, 1, i, 1), HLink); } if (saveFileDialog1.ShowDialog() != DialogResult.OK) { return; } XlsOut.Save(saveFileDialog1.FileName); if (MessageBox.Show("Do you want to open the generated file?", "Confirm", MessageBoxButtons.YesNo) == DialogResult.Yes) { Process.Start(saveFileDialog1.FileName); } }
private void ReadHyperLinks_Click(object sender, System.EventArgs e) { if (openFileDialog1.ShowDialog() != DialogResult.OK) { return; } Xls = new XlsFile(); Xls.Open(openFileDialog1.FileName); dataGrid.CaptionText = "Hyperlinks on file: " + openFileDialog1.FileName; HlDataTable.Rows.Clear(); for (int i = 1; i <= Xls.HyperLinkCount; i++) { TXlsCellRange Range = Xls.GetHyperLinkCellRange(i); THyperLink HLink = Xls.GetHyperLink(i); string HLinkType = Enum.GetName(typeof(THyperLinkType), HLink.LinkType); object[] values = { i, TCellAddress.EncodeColumn(Range.Left) + Range.Top.ToString(), TCellAddress.EncodeColumn(Range.Right) + Range.Bottom.ToString(), HLinkType, HLink.Text, HLink.Description, HLink.TextMark, HLink.TargetFrame, HLink.Hint }; HlDataTable.Rows.Add(values); } }
internal void SetProperties(THyperLink value) { if (value == null) { value = new THyperLink(); } FLinkType = value.LinkType; FDescription = value.Description; FTargetFrame = value.TargetFrame; FText = value.Text; FTextMark = value.TextMark; if (value.Hint == null || value.Hint.Length == 0) { Hint = null; } else { if (Hint == null) { Hint = TScreenTipRecord.CreateNew(value.Hint); } else { Hint.Text = value.Hint; } } }
internal static THLinkRecord CreateNew(TXlsCellRange CellRange, THyperLink HLink) { THLinkRecord Result = new THLinkRecord((int)xlr.HLINK); Result.FirstRow = CellRange.Top; Result.FirstCol = CellRange.Left; Result.LastRow = CellRange.Bottom; Result.LastCol = CellRange.Right; Result.SetProperties(HLink); return(Result); }
internal THyperLink GetProperties() { THyperLink Result = new THyperLink(); Result.Description = MakeNotNull(FDescription); Result.TargetFrame = MakeNotNull(FTargetFrame); Result.Text = MakeNotNull(FText); Result.LinkType = FLinkType; Result.TextMark = MakeNotNull(FTextMark); if (Hint == null) { Result.Hint = String.Empty; } else { Result.Hint = Hint.Text; } return(Result); }