2013-06-27 17 views
7

Kann mir jemand helfen, die gemeinsamen Zeichenfolgen in MS Excel zu verstehen? Ich habe versucht, einige Blogs zu verstehen, konnte aber keine vollständige Idee bekommen. Jeder erklärt, wie Sie mit Open XML auf Shared String zugreifen und wo die Shared Strings gespeichert werden (als sharedstrings.xml). Zugriff über API ist in Ordnung. AberGemeinsame Zeichenfolgen in Excel 2010

  1. So erstellen Sie gemeinsame Zeichenfolgen in Excel. (Erstellen manuell in EXCEL 2010, nicht mit API)
  2. Was ist die genaue Notwendigkeit von Shared Strings?
  3. In welchen Fällen kann ich für Shared Strings gehen?

Ich habe versucht, folgende.

http://www.sadev.co.za/content/reading-and-writing-excel-2007-or-excel-2010-c-part-iii-shared-strings

http://msdn.microsoft.com/en-us/library/gg278314.aspx

Antwort

10

Gemeinschafts-Strings ist im Grunde eine platzsparende Mechanismus. Wie für Ihre Fragen:

A1. Sie können Shared Strings nicht manuell über die Excel-Benutzeroberfläche erstellen. Das liegt daran, dass Excel standardmäßig jeden Text als eine gemeinsame Zeichenfolge speichert.

A2. Wie erwähnt, ist es ein platzsparender Mechanismus. Excel 2007/2010/2013 verwendet das Open XML-Format, bei dem es sich im Wesentlichen um eine Reihe von komprimierten XML-Dateien handelt. Es könnte auch für eine einfache Referenzierung sein. Sie müssen nur auf einen Index verweisen, so wie Sie auf einen Index eines Arrays von Strings verweisen. (Aber XML ist von Natur aus ausführlich, also vermute ich, dass es platzsparend ist).

Lassen Sie uns sagen Sie den Text haben: „Das ist eine sehr lange Zeichenfolge“ in Zelle A1 von Blatt „FirstSheet“. Nehmen wir an, Sie haben auch den gleichen Text in Zelle B7 von "SecondSheet". Excel speichert "Dies ist ein sehr langer Text" in der Tabelle gemeinsam genutzter Zeichenfolgen als ein Eintrag, sagen wir Index 5. In "FirstSheet" -Zelle A1 enthält die Open XML SDK-Klasse Cell nur "5" als CellValue. In "SecondSheet" -Zelle B7 enthält die SDK-Klasse Cell auch "5".

Grundsätzlich ist die Cellvalue hält nur den Index auf die gemeinsam genutzten Zeichenfolgentabelle. So sparen Sie Platz. Die Annahme besteht darin, dass Text sowohl innerhalb des Arbeitsblatts als auch über verschiedene Arbeitsblätter hinweg dupliziert wird.

A3. Gehen Sie für geteilte Zeichenfolgen vor, wenn Sie verstehen, wie es funktioniert. Ist dies nicht der Fall, legen Sie einfach den tatsächlichen Text in der Cell-Klasse für CellValue (Cell.DataType als CellValues.String anstelle von CellValues.SharedString) fest.

+0

Ausgezeichnet !!! Ich habs. Das ist, wonach ich gesucht habe. Gute Idee. Vielen Dank für Ihre Erklärung – Santhosh

Verwandte Themen