Отваряне на електронна таблица само зачетене, Microsoft Docs
Отнася се за: Excel 2010 Office 2010 PowerPoint 2010 Word 2010
В тази статия Кога да отворите документ само за четене Получаване на обекта SpreadsheetDocument Основна структура на документа Опит за създаване на маркиране на SpreadsheetML за добавяне на лист Пример за код
Този раздел ви показва как да използвате класовете в Open XML SDK версия 2.0 за Microsoft Office за програмно отваряне на електронна таблица в режим само за четене.
Следните директиви за асемблиране са необходими за компилиране на кода, представен в този раздел.
Кога да отворите документ само за четене
Понякога искате да отворите документ, за да проверите или получите някаква информация, но трябва да го направите по начин, по който документът да не може да бъде променен. В тези случаи документът трябва да се отвори като само за четене. Този раздел описва няколко начина за програмно отваряне на документ с електронна таблица само за четене.
Получаване на обект SpreadsheetDocument
В Open XML SDK класът SpreadsheetDocument представлява пакет от документи на Excel. За да създадете документ на Excel, трябва да създадете екземпляр на класа SpreadsheetDocument и да го попълните с подходящите части. Като минимум документът трябва да съдържа частта от книгата, която служи като контейнер за документа, и поне една част от листа. Текстът е представен в този пакет като XML с помощта на маркиране на SpreadsheetML.
За да създадете клас от документ, трябва да извикате един от претоварените Open() методи. Има няколко такива Open метода с различни сигнатури. Следващата таблица изброява имената на методите, които ви позволяват да посочите дали документът може да бъде модифициран.
Секция за справка на библиотеката на класа
Създава екземпляр на класа SpreadsheetDocument в указания файл.
Създава екземпляр на класа SpreadsheetDocument в посочения I/O поток.
Open(String, Boolean, OpenSettings)
Създава екземпляр на класа SpreadsheetDocument в указания файл.
Отваряне (Поток, Булева стойност, OpenSettings)
Създава екземпляр на класа SpreadsheetDocument в посочения I/O поток.
В таблицата, представена по-рано, са изброени само онези отворени методи, които приемат булева стойност като втори параметър, който определя дали документът може да бъде модифициран. За да отворите документа като само за четене, задайте този параметър на False.
Забележете, че два от методите Open създават екземпляр на класа SpreadsheetDocument въз основа на низа, даден като първи параметър. Този метод се използва в първия пример на код. Той използва първия Open метод от таблицата, представена по-рано, със сигнатура, която изисква два параметъра. Първият параметър приема низ, представляващ пълния път на името на файла, от който да отворите документа. Вторият параметър е true или false. Този пример използва стойността false, което означава, че файлът е отворен само за четене.
Следният пример на код извиква метода Open.
Другите два метода Open инстанцират класа SpreadsheetDocument въз основа на I/O потока. Този подход може да се използва, например, ако имате приложение на Microsoft SharePoint Foundation 2010, което използва I/O поток и искате да използвате Open XML SDK версия 2.0 за работа с документи.
Следният код отваря базиран на поток документ.
Нека си представим, че имаприложение, което използва поддръжката на Open XML в пространството на имената System.IO.Packaging на библиотеката с класове на .NET Framework и трябва да използва Open XML SDK версия 2.0, за да работи с пакета в режим само за четене. Докато Open XML SDK версия 2.0 съдържа претоварвания на методи, които приемат пакет като първи параметър, няма претоварване, което приема булева стойност като втори параметър, който показва дали документът трябва да бъде отворен за редактиране.
Препоръчваме ви първо да отворите пакета като само за четене, преди да създадете екземпляр на класа SpreadsheetDocument, както е показано във втория пример за код. Следващият пример изпълнява тази операция.
След като отворите пакета с електронни таблици, можете да получите достъп до основната част на книгата. За да направите това, трябва да присвоите връзка към съществуваща част от работна книга, както е показано в следния пример на код.
Основна структура на документа
Основната структура на документ SpreadsheetML се състои от Sheets и Sheet елементи, които препращат към листове в работна книга. За всеки работен лист се създава отделен XML файл. Например маркирането на SpreadsheetML за работна книга с два листа MySheet1 и MySheet2 се съхранява във файла Workbook.xml. Тази маркировка е показана по-долу.
XML файловете на листа съдържат един или повече елементи на ниво блок, като например SheetData. sheetData представлява таблица и съдържа един или повече елемента Row. редът съдържа един или повече елемента Cell. Всяка клетка съдържа един или повече елемента CellValue, които представляват стойността на клетката. Например маркирането на SpreadsheetML за първия лист в работна книга с клетка A1, зададена на 100, е в Sheet1.xml и изглежда така.