Заголовок заголовка Excel из HTML-кода в Matlab - PullRequest
0 голосов
/ 21 ноября 2011

У меня есть пользователь, чей заголовок заголовка (переменная "header") использует HTML-код. Я хочу экспортировать полезные данные (включая их заголовок) в электронную таблицу Excel. Вот код, написанный для этой задачи:

%# header = get(htable,'ColumnName');
header = {'<html><center>Component X<br />(km/s<sup>2</sup>)</center></html>', ...
           '<html><center>Component Y<br />(km/s<sup>2</sup>)</center></html>', ...
           '<html><center>Component Z<br />(km/s<sup>2</sup>)</center></html>'},
numeric_data = rand(3,3);
data_Matrix = [header ; num2cell(numeric_data)],
xlswrite('file.xls',data_Matrix);

Тем не менее, я не могу получить заголовок электронной таблицы Excel отображается правильно написано.

1 Ответ

1 голос
/ 21 ноября 2011

Вы не можете вставить HTML в ячейку Excel таким образом (вы можете, но, как вы обнаружили, он не будет отображаться, он просто отобразит HTML).

В вашем конкретном случае вы можете использовать маленький Юникод вместо HTML для отображения ваших заголовков как в удобном, так и в Excel. Обратите внимание, что 00B2 - это Unicode для верхнего индекса 2 - см. Википедия для списка других символов.

>> numeric_data = rand(3,3);
>> header2 = {['Component X (km/s',char(hex2dec('00B2')),')'],...
        ['Component Y (km/s',char(hex2dec('00B2')),')'],...
        ['Component Z (km/s',char(hex2dec('00B2')),')']}
header2 = 
    'Component X (km/s²)'    'Component Y (km/s²)'    'Component Z (km/s²)'
>> htable2 = uitable('ColumnName',header2);
>> data_Matrix = [header2 ; num2cell(numeric_data)]
data_Matrix = 
    'Component X (km/s²)'    'Component Y (km/s²)'    'Component Z (km/s²)'
    [            0.50095]    [            0.28778]    [            0.88857]
    [            0.33155]    [            0.50127]    [            0.62051]
    [              0.243]    [            0.89398]    [             0.6544]
>> xlswrite('file.xls',data_Matrix);
...