Столбцы 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
Здравствуйте, Compositum, Вы писали:
C>Кто-нибудь в курсе, по какой формуле осуществляется перевод из "единиц Excel" в те же пикселы?
Re: Помогите установить ширину столбца в Excel.Автор: _FRED_
Дата: 09.12.04
Здравствуйте, 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
как ты видишь ширина одинаковая.
Здравствуйте, _FRED_, Вы писали:
_FR>Здравствуйте, Compositum, Вы писали:
C>>Кто-нибудь в курсе, по какой формуле осуществляется перевод из "единиц Excel" в те же пикселы?
_FR>Re: Помогите установить ширину столбца в Excel.Автор: _FRED_
Дата: 09.12.04
Хотелось бы понять, что это за "хитрый алгоритм" (с), т.к. полагаться на то, что "кто-то сказал" не хочется.
Здравствуйте, 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-разметке.
Здравствуйте, Аноним, Вы писали:
C>>>Кто-нибудь в курсе, по какой формуле осуществляется перевод из "единиц Excel" в те же пикселы?
_FR>>Re: Помогите установить ширину столбца в Excel.Автор: _FRED_
Дата: 09.12.04
А>Хотелось бы понять, что это за "хитрый алгоритм" (с), т.к. полагаться на то, что "кто-то сказал" не хочется.
Если не хочется, то можно и не пологаться. Или проверить и уже тогда решить