Добрый день. Как узнать формат данных имеющейся таблицы Excel? Имеется таблица и хотел бы провести "обратный инжиниринг" - хочется понять структуру получившейся таблицы. С разделителями/или фиксированной ширины, с какой строки начат импорт, учитывались ли заголовки при импорте данных, каким знаком является символ-разделитель (знак табуляции/точка с запятой/запятая/пробел/другой) , ограничитель строк, форматы данных столбцов. Мне показалось, что ответ находится в разделе "Данные" в ленте Эксель, но не уверен. Тем более, не знаю что делать дальше в этом разделе. В разделе Данные есть "Расширенный редактор". Может это то, что нужно?
в книге в общем случае может быть много листов точно, на каждом листе есть много строк. много колонок и очень много ячеек, у каждой из них может быть свой формат в каком виде и с каким содержанием отчет о форматах вы хотели бы увидеть? и интересно как это поможет
Цитата
Владимiръ написал: понять структуру получившейся таблицы
??? хотя на этот вопрос можно не отвечать, очевидно если прочитать и осмыслить отчет о форматах миллиардов ячеек совершенно отчетливо можно себе представить структуру таблицы
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
Лист всего навсего один. Строк там совсем немного. Хочется проанализировать не данные в таблице а ее структуру. Например, что было использовано в качестве разделителей при импорте. Исходник - файл гугл календаря.
Скажите, есть ли в этих данных что то годное для анализа
Источник = Excel.Workbook(File.Contents("H:\ONEDRIVE\ЭКСПЕРИМЕНТ С КАЛЕНДАРЯМИ\ФОРМАТ И НЕФОРМАТ ИМПОРТ В ЭКСЕЛЬ\ИМПОРТ ИЗ ОНЛАЙН СЕРВИСА.xlsx"), null, true), #"tmp-15783200535506222_Sheet" = Источник{[Item="tmp-15783200535506222",Kind="Sheet"]}[Data], #"Вычисленное количество значений" = List.NonNullCount(#"tmp-15783200535506222_Sheet"[Column1]), #"Извлеченный текст перед разделителем" = Table.TransformColumns(#"Вычисленное количество значений", {{"Column1", each Text.BeforeDelimiter(_, ","), type text}}), #"Диапазон извлеченного текста" = Table.TransformColumns(#"Извлеченный текст перед разделителем", {{"Column1", each Text.Middle(_, 1, 20), type text}}), #"Извлеченные первые символы" = Table.TransformColumns(#"Диапазон извлеченного текста", {{"Column1", each Text.Start(_, 12), type text}}), #"Вычисленная длина текста" = Table.TransformColumns(#"Извлеченные первые символы",{{"Column1", Text.Length, Int64.Type}}), #"Измененный тип" = Table.TransformColumnTypes(#"Вычисленная длина текста",{{"SUMMARY", type text}, {"DTSTART", type datetime}, {"DTEND", type datetime}, {"DUE", type any}, {"NOTES", type text}, {"ATTENDEE", type any}, {"LOCATION", type any}, {"PRIORITY", type any}, {"URL", type any}, {"CALENDAR", type any}, {"UID", type any}}), #"Обработанное значение JSON" = Table.TransformColumns(#"Измененный тип",{{"SUMMARY", Json.Document}}), #"Обработанные данные XML" = Table.TransformColumns(#"Обработанное значение JSON",{{"SUMMARY", Xml.Tables}}) in #"Обработанные данные XML"
Доброе время суток Владимiръ, вы любитель гадания на кофейной гуще? Одно из следствий теории алгоритмов гласит: не существует такого алгоритма, который по коду другого алгоритма, определит, что и с чем он делает Не уж то так сложно прочитать правила?