Конвертация ширины столбца из единиц Excel в пикселы
От: Compositum Россия  
Дата: 17.06.10 12:10
Оценка:
Столбцы Excel имеют ширину в абстрактных единицах:



что называется "не пришей козе баян..." как это перевести в нормальные единицы (мм/дюйми/e.t.c.) не понятно...
В своём приложении мне необходимо извлечь из буфера обмена скопированный пользователем массив ячеек для дальнейшей его обработки. Причём нужно получить и информацию о форматировании ячеек. Поэтому делаю сначала так:

//Получаю в формате html нужный мне прямоугольный массив ячеек Excel
string result  = (string)System.Windows.Clipboard.GetDataObject().GetData(System.Windows.DataFormats.Html, true);


Затем через свой собственный парсер конвертирую результат в xml-формат. Но есть загвоздка: в Html-файле, полученном с помощью указанного выше кода ширины столбцов указаны в пикселах, а при работе в Excel, задаваемая пользователем ширина столбцов имеет др. единицы измерения, о которых написано в приведённом мною выше скрине. Я надеялся, что из единиц екселя можно перевести в пикселы, применив некий коэффициент, однако, как показала практика — этот коэффициент не постоянен и для каждой ширины столбца свой:



Кто-нибудь в курсе, по какой формуле осуществляется перевод из "единиц Excel" в те же пикселы?

18.06.10 10:33: Перенесено модератором из '.NET' — TK
Re: Конвертация ширины столбца из единиц Excel в пикселы
От: _FRED_ Черногория
Дата: 17.06.10 13:07
Оценка:
Здравствуйте, Compositum, Вы писали:

C>Кто-нибудь в курсе, по какой формуле осуществляется перевод из "единиц Excel" в те же пикселы?


Re: Помогите установить ширину столбца в Excel.
Автор: _FRED_
Дата: 09.12.04
Help will always be given at Hogwarts to those who ask for it.
Re: Конвертация ширины столбца из единиц Excel в пикселы
От: c-smile Канада http://terrainformatica.com
Дата: 20.06.10 06:07
Оценка:
Здравствуйте, Compositum, Вы писали:

C>Затем через свой собственный парсер конвертирую результат в xml-формат. Но есть загвоздка: в Html-файле, полученном с помощью указанного выше кода ширины столбцов указаны в пикселах, а при работе в Excel, задаваемая пользователем ширина столбцов имеет др. единицы измерения, о которых написано в приведённом мною выше скрине. Я надеялся, что из единиц екселя можно перевести в пикселы, применив некий коэффициент, однако, как показала практика — этот коэффициент не постоянен и для каждой ширины столбца свой:


C>


C>Кто-нибудь в курсе, по какой формуле осуществляется перевод из "единиц Excel" в те же пикселы?


Ты сравниваешь разные вещи. В HTML/CSS ширина это width of content box. См. здесь
А Excel использует width of border box.

Вот например copy-paste из excel в sciter/richtext editor:
http://files.rsdn.ru/13953/excel-sciter.png

как ты видишь ширина одинаковая.
Re[2]: Конвертация ширины столбца из единиц Excel в пикселы
От: Аноним  
Дата: 20.06.10 07:27
Оценка:
Здравствуйте, _FRED_, Вы писали:

_FR>Здравствуйте, Compositum, Вы писали:


C>>Кто-нибудь в курсе, по какой формуле осуществляется перевод из "единиц Excel" в те же пикселы?


_FR>Re: Помогите установить ширину столбца в Excel.
Автор: _FRED_
Дата: 09.12.04

Хотелось бы понять, что это за "хитрый алгоритм" (с), т.к. полагаться на то, что "кто-то сказал" не хочется.
Re[2]: Конвертация ширины столбца из единиц Excel в пикселы
От: Hwd Россия  
Дата: 20.06.10 07:34
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Здравствуйте, Compositum, Вы писали:


C>>Затем через свой собственный парсер конвертирую результат в xml-формат. Но есть загвоздка: в Html-файле, полученном с помощью указанного выше кода ширины столбцов указаны в пикселах, а при работе в Excel, задаваемая пользователем ширина столбцов имеет др. единицы измерения, о которых написано в приведённом мною выше скрине. Я надеялся, что из единиц екселя можно перевести в пикселы, применив некий коэффициент, однако, как показала практика — этот коэффициент не постоянен и для каждой ширины столбца свой:


C>>


C>>Кто-нибудь в курсе, по какой формуле осуществляется перевод из "единиц Excel" в те же пикселы?


CS>Ты сравниваешь разные вещи. В HTML/CSS ширина это width of content box. См. здесь

CS>А Excel использует width of border box.

CS>Вот например copy-paste из excel в sciter/richtext editor:

CS>http://files.rsdn.ru/13953/excel-sciter.png

CS>как ты видишь ширина одинаковая.


Мне важно понять, по какому алгоритму ширина столбца, заданная юзером в екселе преобразуется в то значение, которое прописано в html-разметке.
Re[3]: Конвертация ширины столбца из единиц Excel в пикселы
От: _FRED_ Черногория
Дата: 20.06.10 09:26
Оценка:
Здравствуйте, Аноним, Вы писали:

C>>>Кто-нибудь в курсе, по какой формуле осуществляется перевод из "единиц Excel" в те же пикселы?


_FR>>Re: Помогите установить ширину столбца в Excel.
Автор: _FRED_
Дата: 09.12.04

А>Хотелось бы понять, что это за "хитрый алгоритм" (с), т.к. полагаться на то, что "кто-то сказал" не хочется.

Если не хочется, то можно и не пологаться. Или проверить и уже тогда решить
Help will always be given at Hogwarts to those who ask for it.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.