Скрытие ячейки в MS Excel с помощью SpreadSheetGear?

Эй, любой орган знает, как скрыть содержимое ячейки с помощью электронных таблиц.


person Avinash    schedule 11.04.2010    source источник


Ответы (1)


Вы можете установить для IRange.NumberFormat значение ";;;" чтобы содержимое ячейки было скрыто. Есть также IRange.FormulaHidden, IRange.Rows.Hidden, IRange.Columns.Hidden и, возможно, другие способы приблизиться к этому, о которых я не думаю. Вот некоторый код, демонстрирующий эти подходы:

namespace Program
{
    class Program
    {
        static void Main(string[] args)
        {
            // Create a new workbook and get a reference to Sheet1!A1.
            var workbook = SpreadsheetGear.Factory.GetWorkbook();
            var sheet1 = workbook.Worksheets[0];
            var a1 = workbook.Worksheets[0].Cells["A1"];
            // Put some text in A1.
            a1.Value = "Hello World!";
            // Set a number format which causes nothing to be displayed.
            //
            // This is probably the best way to hide the contents of 
            // a single cell.
            a1.NumberFormat = ";;;";
            // Set FormulaHidden to true - must set IWorksheet.ProtectContents 
            // to true for this make any difference. This will not hide values
            // in cells.
            a1.FormulaHidden = true;
            // Hide the row containing A1.
            a1.Rows.Hidden = true;
            // Hide the column containing A1.
            a1.Columns.Hidden = true;
        }
    }
}
person Joe Erickson    schedule 12.04.2010
comment
Эй, Джо, спасибо за подсказку, я получил решение своей проблемы с подсказкой, указанной в вашем коде, ранее я использовал a1.NumberFormat = ;;; но это не соответствовало моим требованиям, оно скрывало ячейки, содержащие, но ячейки содержат изделия, видимые в строке формул, теперь я использую a1.NumberFormat = ;;; и a1.FormulaHidden = true оба, и это отлично работает для моих требований. - person Avinash; 16.04.2010