Example #1
0
        private void SetFont(string range, Microsoft.Office.Interop.Excel.Font font)
        {
            //Range.Font.Name
            Range = workSheet.GetType().InvokeMember("Range", BindingFlags.GetProperty,
                                                     null, workSheet, new object[] { range });

            object Font = Range.GetType().InvokeMember("Font", BindingFlags.GetProperty,
                                                       null, Range, null);

            Range.GetType().InvokeMember("Name", BindingFlags.SetProperty, null,
                                         Font, new object[] { font.Name });

            Range.GetType().InvokeMember("Size", BindingFlags.SetProperty, null,
                                         Font, new object[] { font.Size });
        }
Example #2
0
        public double MeasureTextHeight(string text, Microsoft.Office.Interop.Excel.Font font, int width)
        {
            if (string.IsNullOrEmpty(text))
            {
                return(0.0);
            }
            var bitmap   = new Bitmap(1, 1);
            var graphics = Graphics.FromImage(bitmap);

            var pixelWidth  = Convert.ToInt32(width / 1); //7.5 pixels per excel column width
            var drawingFont = new System.Drawing.Font(font.Name, (float)font.Size);
            var size        = graphics.MeasureString(text, drawingFont, pixelWidth);

            //72 DPI and 96 points per inch.  Excel height in points with max of 409 per Excel requirements.
            return(Math.Min(Convert.ToDouble(size.Height) * 72 / 96, 409));
        }