Example #1
0
        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);
            }
        }
Example #2
0
        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);
            }
        }
Example #3
0
        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;
                }
            }
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }