Czytam wklejenie danych pochodzących z programu Excel przy użyciuPodział użyciu separatora wyjątkiem sytuacji, gdy separator jest uciekł
var stream = (System.IO.Stream) (Forms.Clipboard.GetDataObject()).GetData(Forms.DataFormats.CommaSeparatedValue);
,
ale niestety, Excel przechodzi tekst komórek zamiast wartości komórki. Gdy komórki są za pomocą specjalnego formatowania (takich jak separator tysięcy), dane w schowku za serię komórek w kolumnach, które wygląda następująco:
1,234,123.00 2,345.00 342.00 12,345.00
jest przechowywany jako to:
\" 1,234,123.00 \",\" 2,345.00 \", 342.00 ,\" 12,345.00 \"
kiedy co naprawdę chcę to:
1234123.00, 2345.00, 342.00, 12345.00
ja uprzednio za pomocą funkcji clipData.Split(new string[] { "," }, StringSllitOptions.None))
włączyć moich danych schowka CSV do szeregu komórek, ale to się nie powiedzie w kura zawiera sformatowany tekst zawierający przecinki.
Pytam, czy ktoś może wymyślić sposób, aby podzielić ten ciąg do zbioru komórek, ignorując przecinki uciekł ciągu \"
bitów, ponieważ jest to w jaki sposób Excel wybiera się uciec komórki zawierające przecinki.
W skrócie, w jaki sposób można włączyć pojedynczy łańcuch zawierający ten:
\" 1,234,123.00 \",\" 2,345.00 \", 342.00 ,\" 12,345.00 \"
na tablicę ciągów zawierających ten:
{ "1,234,123.00", "2,345.00", "342.00", "12,345.00" }
Bez rujnuje moją zdolność do analizowania proste rozdzielany przecinkami ciąg .
***** edit ***
Kontynuacja pytanie (w postaci DFA) tutaj: Split a string based on each time a Deterministic Finite Automata reaches a final state?
Czy rzeczywiście widzisz \, po którym lub "właśnie używasz \", aby wskazać podwójny cytat zamiast denotacja początku ciągu znaków – juharr
Nie możesz pobrać danych w innym formacie? Użyj IDataObject.GetFormats, aby pobrać listę dostępnych formatów i sprawdzić, czy możesz znaleźć taką, która działa lepiej – erikkallen
Dobra, wezmę udział czas poświęcony na ocenę i testowanie kilku z tych rozwiązań i skontaktowanie się z wami – Alain