Для MySQL 5.0.3 и выше, можно использовать BIT
. В руководстве говорится:
С MySQL 5.0.3, Тип данных bit используется для хранения значений битового поля. Тип BIT (M) включает устройство хранения данных значений Мбит. M может колебаться от 1 до 64.
Иначе, согласно руководству MySQL можно использовать bool и булевскую переменную, которые являются в данный момент псевдонимами tinyint (1):
Bool, булевская переменная: Эти типы являются синонимами для TINYINT (1). Значение нуля считают ложью. Ненулевые значения считают верными.
MySQL также указывает что:
Мы намереваемся реализовать полную булеву обработку типа, в соответствии со стандартным SQL, в будущем выпуске MySQL.
Ссылки: http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html
Обратите внимание, что отличным источником информации для приложений Microsoft Office является обозреватель объектов . Вы можете получить к нему доступ через Инструменты
→ Макрос
→ Редактор Visual Basic
. Как только вы войдете в редактор, нажмите F2 , чтобы просмотреть интерфейсы, методы и свойства, предоставляемые приложениями Microsoft Office.
Вот пример использования Win32 :: OLE :
#!/usr/bin/perl
use strict;
use warnings;
use File::Spec::Functions qw( catfile );
use Win32::OLE;
use Win32::OLE::Const 'Microsoft Word';
$Win32::OLE::Warn = 3;
my $word = get_word();
$word->{Visible} = 0;
my $doc = $word->{Documents}->Open(catfile $ENV{TEMP}, 'test.docx');
$doc->SaveAs(
catfile($ENV{TEMP}, 'test.txt'),
wdFormatTextLineBreaks
);
$doc->Close(0);
sub get_word {
my $word;
eval {
$word = Win32::OLE->GetActiveObject('Word.Application');
};
die "$@\n" if $@;
unless(defined $word) {
$word = Win32::OLE->new('Word.Application', sub { $_[0]->Quit })
or die "Oops, cannot start Word: ",
Win32::OLE->LastError, "\n";
}
return $word;
}
__END__
Я настоятельно рекомендую AsposeWords , если вы умеете работать с Java или .NET. Он может конвертировать без установленного Word между всеми основными типами текстовых файлов.
If you have some flavour of unix installed, you can use the 'strings' utility to find and extract all readable strings from the document. There will be some mess before and after the text you are looking for, but the results will be readable.
Простое решение для docx только на Perl:
Используйте Archive :: Zip , чтобы получить файл word / document.xml
из вашего файл docx
. (Docx - это просто заархивированный архив.)
Используйте XML :: LibXML для его анализа.
Затем используйте XML :: LibXSLT , чтобы преобразовать его в текст или HTML формат. Поищите в Интернете красивый файл docx2txt.xsl :)
Ура!
J.
.doc, которые используют WordprocessingML и .docx в формате XML , их XML может быть проанализирован для извлечения фактического текста документа. Вам нужно будет прочитать их спецификации, чтобы выяснить, какие теги содержат читаемый текст.
Вы не можете сделать это в VBA, если не хотите запускать Word (или другое приложение Office). Даже если вы имели в виду VB, вам все равно придется запустить (скрытый) экземпляр Word для обработки.
Мне нужен способ конвертировать расширения .doc или .docx в .txt без установки чего-либо
for I in *.doc?; do mv $I `echo $ | sed 's/\.docx?/\.txt'`; done
Шучу.
Вы можете использовать антислово для старых версий документов Word и попробуйте проанализировать xml новых.
Обратите внимание, что вы также можете использовать OpenOffice для выполнения различных преобразований документов, рисунков, электронных таблиц и т. Д. На платформах Windows и * nix.
Вы можете получить доступ к OpenOffice программно (аналогично COM в Windows) через UNO из множества языков, для которых существует привязка UNO, в том числе из Perl через OpenOffice :: UNO модуль.
На странице OpenOffice :: UNO вы также найдете образец скриптлета Perl, который открывает документ, все, что вам нужно сделать, это экспортировать его в txt
с помощью document.storeToURL ()
- см. пример Python , который можно легко адаптировать к вашим потребностям Perl.