Gnumeric Moving Average


Módulos relacionados Este documento refere-se à versão 2.40 da Folha de cálculo :: WriteExcel, lançada em 6 de novembro de 2013. Para escrever uma seqüência de caracteres, uma seqüência formatada, um número e uma fórmula para a primeira planilha em uma pasta de trabalho do Excel, chamada perl. xls: The Spreadsheet: : O módulo WriteExcel Perl pode ser usado para criar um arquivo binário Excel multiplataforma. Várias planilhas podem ser adicionadas a uma pasta de trabalho e a formatação pode ser aplicada às células. Texto, números, fórmulas, hiperlinks, imagens e gráficos podem ser gravados nas células. O arquivo produzido por este módulo é compatível com o Excel 97, 2000, 2002, 2003 e 2007. O módulo funcionará na maioria das plataformas Windows, UNIX e Mac. Os arquivos gerados também são compatíveis com as aplicações de planilhas LinuxUNIX Gnumeric e OpenOffice. org. Este módulo não pode ser usado para escrever em um arquivo Excel existente (consulte 34MODIFICANDO E REWRITING EXCEL FILES34). Nota: Este módulo está no modo somente manutenção e no futuro só será atualizado com correções de bugs. O módulo Excel :: Writer :: XLSX mais novo, mais rico em recursos e compatível com API é recomendado. Veja, 34Migrando para o Excel :: Writer :: XLSX34. Folha de cálculo :: WriteExcel tenta fornecer uma interface para o maior número possível de recursos do Excel39s. Como resultado, há uma grande quantidade de documentação para acompanhar a interface e pode ser difícil, a primeira vista, ver o que é importante e o que não é. Então, para aqueles que preferem montar o mobiliário Ikea primeiro e, em seguida, leia as instruções, aqui estão três etapas fáceis: 1. Crie um novo livro do Excel (ou seja, arquivo) usando o novo (). 2. Adicione uma planilha para a nova pasta de trabalho usando addworksheet (). 3. Escreva na planilha usando write (). Isso criará um arquivo Excel chamado perl. xls com uma única planilha e o texto 39Hi Excel39 na célula relevante. E isso é isso. Ok, então também há um passo zeroth, mas o módulo de uso não faz nada. Há também mais de 80 exemplos que acompanham a distribuição e que você pode usar para você começar. Veja 34EXAMPLES34. Aqueles de vocês que leram as instruções primeiro e montar o mobiliário depois saberão como proceder. -) O módulo Spreadsheet :: WriteExcel fornece uma interface orientada a objetos para uma nova pasta de trabalho do Excel. Os seguintes métodos estão disponíveis através de uma nova pasta de trabalho. Se você não estiver familiarizado com as interfaces orientadas a objetos ou com a forma como elas são implementadas no Perl, veja perlobj e perltoot na documentação principal do Perl. Uma nova pasta de trabalho do Excel é criada usando o novo () construtor que aceita um nome de arquivo ou um manipulador de arquivo como um parâmetro. O exemplo a seguir cria um novo arquivo do Excel com base em um nome de arquivo: Aqui estão alguns outros exemplos de usar new () com nomes de arquivos: Os dois últimos exemplos demonstram como criar um arquivo no DOS ou Windows, onde é necessário escapar do separador de diretório Ou para usar aspas simples para garantir que ela não seja interpolada. Para mais informações, veja perlfaq5: Por que o can39t uso 34C: tempfoo34 em caminhos do DOS. O construtor new () retorna um objeto Spreadsheet :: WriteExcel que você pode usar para adicionar planilhas e armazenar dados. Deve-se notar que, embora o meu não seja especificamente exigido, ele define o escopo da nova variável da pasta de trabalho e, na maioria dos casos, garante que o caderno de trabalho seja fechado corretamente sem chamar explicitamente o método close (). Se o arquivo não puder ser criado, devido a permissões de arquivo ou algum outro motivo, o novo retornará undef. Portanto, é uma boa prática verificar o valor de retorno do novo antes de prosseguir. Como de costume, a variável Perl será definida se houver um erro de criação de arquivo. Você também verá uma das mensagens de aviso detalhadas em 34DIAGNOSTICS34: Você também pode passar um arquivo de arquivo válido para o novo () construtor. Por exemplo, em um programa CGI, você poderia fazer algo como isto: o requisito para binmode () é explicado abaixo. Veja também, o programa cgi. pl no diretório de exemplos da distro. No entanto, este caso especial não funcionará em programas de moders onde você terá que fazer algo como o seguinte: Veja também os programas modperl1.pl e modperl2.pl no diretório de exemplos da distro. Os manipuladores de arquivos também podem ser úteis se você deseja transmitir um arquivo do Excel por um soquete ou se deseja armazenar um arquivo do Excel em um escalar. Por exemplo, aqui é uma maneira de escrever um arquivo Excel para um escalar com perl 5.8: veja também os programas writetoscalar. pl e filehandle. pl no diretório de exemplos da distro. Observação sobre o requisito binmode (). Um arquivo do Excel é composto por dados binários. Portanto, se você estiver usando uma tarefa de arquivo, você deve garantir que você binmode () antes de passá-lo para novo (). Você deve fazer isso, independentemente de você estar ou não em uma plataforma Windows. Isso se aplica especialmente aos usuários do perl 5.8 em sistemas onde UTF-8 provavelmente estará em operação, como o RedHat Linux 9. Se seu programa, intencionalmente ou não, grava dados UTF-8 em um arquivo que é passado para novo () Isso irá corromper o arquivo do Excel criado. Você não precisa se preocupar com binmode () se você estiver usando nomes de arquivos em vez de manipulações de arquivo. Spreadsheet :: WriteExcel executa o binmode () internamente quando converte o nome do arquivo em um arquivo de arquivo. Para mais informações sobre binmode (), veja perlfunc e perlopentut na documentação principal do Perl. Pelo menos uma folha de cálculo deve ser adicionada a uma nova pasta de trabalho. Uma planilha é usada para escrever dados nas células: se sheetname não for especificado, a convenção padrão do Excel será seguida, isto é Sheet1, Sheet2, etc. O parâmetro utf16be é opcional, veja abaixo. O nome da planilha deve ser um nome válido da planilha do Excel, ou seja, não pode conter nenhum dos seguintes caracteres,. . E deve ter menos de 32 caracteres. Além disso, você não pode usar o mesmo, insensível a maiúsculas e minúsculas, folha para mais de uma planilha. Em sistemas com perl 5.8 e posterior, o método addworksheet () também irá lidar com strings no formato UTF-8. Em sistemas Perl anteriores, você pode especificar nomes de planilha UTF-16BE usando um parâmetro opcional adicional: O método addformat () pode ser usado para criar novos objetos Format que são usados ​​para aplicar formatação a uma célula. Você pode definir as propriedades no horário de criação através de um hash de valores de propriedade ou posterior via chamadas de método. Consulte a seção 34CELL FORMATTING34 para obter mais detalhes sobre Propriedades do formato e como configurá-las. Esse método é usado para criar um novo gráfico como uma planilha autônoma (o padrão) ou como um objeto incorporável que pode ser inserido em uma planilha através do método insertchart () Worksheet. As propriedades que podem ser definidas são: Este é um parâmetro obrigatório. Ele define o tipo de gráfico que será criado. Os tipos disponíveis são: Defina o nome da folha de gráfico. A propriedade de nome é opcional e, se não for fornecida, será padrão para Chart1. N. O nome deve ser um nome de planilha do Excel válido. Veja addworksheet () para obter mais detalhes sobre nomes de folhas válidos. A propriedade nome pode ser omitida para gráficos incorporados. Especifica que o objeto Chart será inserido em uma planilha através do método insertchart () Worksheet. É um erro para tentar inserir um gráfico que não tenha este sinalizador definido. Consulte o Spreadsheet :: WriteExcel :: Chart para obter detalhes sobre como configurar o objeto do gráfico uma vez que ele é criado. Veja também os programas chart. pl no diretório de exemplos da distro. Este método é usado para incluir gráficos gerados externamente em um arquivo Spreadsheet :: WriteExcel. Esse recurso é semi-depreciado em favor dos gráficos 34native34 criados usando addchart (). Leia externalcharts. txt (ou. pod) no diretório externalcharts da distro para uma explicação completa. Em geral, seu arquivo do Excel será fechado automaticamente quando o seu programa terminar ou quando o objeto Workbook sair do escopo, porém o método close () pode ser usado para fechar explicitamente um arquivo do Excel. Um fechamento explícito () é necessário se o arquivo deve ser fechado antes de executar alguma ação externa nele, como copiá-lo, ler seu tamanho ou anexá-lo a um e-mail. Além disso, close () pode ser necessário para impedir que o coletor de lixo da Perl39s descarte os objetos Workbook, Worksheet e Format na ordem errada. Situações em que isso pode ocorrer são: Se meu () não foi usado para declarar o escopo de uma variável de pasta de trabalho criada usando novo (). Se o novo (). Os métodos addworksheet () ou addformat () são chamados nas sub-rotinas. O motivo para isso é que Spreadsheet :: WriteExcel depende do mecanismo DESTRO da Perl39 para desencadear métodos destruidores em uma seqüência específica. Isso pode não acontecer nos casos em que as variáveis ​​Workbook, Worksheet e Format não são segmentadas lexicamente ou onde elas tenham diferentes níveis lexical. Em geral, se você criar um arquivo com um tamanho de 0 bytes ou você não conseguir criar um arquivo, você precisa chamar close (). O valor de retorno de close () é o mesmo que retornado pelo perl quando ele fecha o arquivo criado por new (). Isso permite que você manipule as condições de erro da maneira usual: este método é usado para melhorar a compatibilidade com aplicativos de terceiros que lêem arquivos do Excel. Um arquivo Excel é composto por registros binários que descrevem as propriedades de uma planilha. O Excel é razoavelmente liberal sobre isso e, fora de um subconjunto central, ele não exige que todos os registros possíveis estejam presentes quando ele lê um arquivo. Isso também é válido para o Gnumeric e o OpenOffice. Org Calc. Spreadsheet :: WriteExcel tira proveito deste fato para omitir alguns registros, a fim de minimizar a quantidade de dados armazenados na memória e simplificar e acelerar a redação de arquivos. No entanto, alguns aplicativos de terceiros que lêem arquivos Excel geralmente esperam que determinados registros estejam presentes. Em 34 modo de compatibilidade34 Folha de cálculo :: WriteExcel grava esses registros e tenta ser o mais próximo possível de um arquivo gerado pelo Excel. Os aplicativos que exigem o modo de compatibilidade () são Apache POI, Apple Numbers e Quickoffice no Nokia, Palm e outros dispositivos. Você também deve usar o modo de compatibilidade () se seu arquivo do Excel for usado como fonte de dados externa por outro arquivo do Excel. Se você encontrar outras situações que exigem o modo de compatibilidade (). Por favor deixe-me saber. Note-se que o modo de compatibilidade () requer que dados adicionais sejam armazenados na memória e processamento adicional. Isso incorre em uma penalidade de memória e velocidade e pode não ser adequado para arquivos muito grandes (6220 MB). Você deve chamar o modo de compatibilidade () antes de chamar o addworksheet (). O método setproperties pode ser usado para definir as propriedades do documento do arquivo Excel criado por Spreadsheet :: WriteExcel. Essas propriedades são visíveis quando você usa a opção de menu File-62Properties no Excel e também estão disponíveis para aplicativos externos que lêem ou indexam arquivos do Windows. As propriedades devem ser passadas como um hash de valores da seguinte maneira: as propriedades que podem ser configuradas são: as propriedades definidas pelo usuário não são suportadas devido ao esforço necessário. No perl 5.8, você também pode passar as seqüências UTF-8 como propriedades. Veja 34UNICODE IN EXCEL34. Com as versões mais antigas do perl, você pode usar um módulo para converter uma seqüência não-ASCII para uma representação binária do UTF-8 e, em seguida, passar uma bandeira utf8 adicional para setproperties (): Geralmente Folha de cálculo :: WriteExcel permite usar UTF-16 com Pré 5.8 versões de perl. No entanto, as propriedades do documento don39t suportam UTF-16 para este tipo de strings. Para promover a utilidade do Perl e o módulo Spreadsheet :: WriteExcel, considere adicionar um comentário como o seguinte ao usar as propriedades do documento: Esse recurso requer que o módulo OLE :: StorageLite esteja instalado (o que normalmente é o caso de uma planilha padrão :: WriteExcel instalação). No entanto, isso também significa que o documento OLE resultante pode ser buggy para arquivos com menos de 7MB, uma vez que não foi tão rigorosamente testado nesse domínio. Como resultado deste setproperties é atualmente incompatível com o Gnumeric para arquivos com menos de 7MB. Isso está sendo investigado. Se você encontrar algum problema com este recurso, avise-me. Por conveniência é possível passar um hash ou hash ref de argumentos para este método. Veja também o programa properties. pl no diretório de exemplos da distro. Esse método é usado para definir um nome que pode ser usado para representar um valor, uma única célula ou um intervalo de células em uma pasta de trabalho. Veja o programa definedname. pl no dir de exemplos da distro. Nota: Este é um recurso beta atualmente. Mais documentação e exemplos serão adicionados. Para velocidade e eficiência Folha de cálculo :: WriteExcel armazena dados de planilha em arquivos temporários antes de montar o livro final. Se Spreadsheet :: WriteExcel não conseguir criar esses arquivos temporários, ele armazenará os dados necessários na memória. Isso pode ser lento para arquivos grandes. O problema ocorre principalmente com o IIS no Windows, embora também possa ocorrer nos sistemas Unix. O problema geralmente ocorre porque o diretório de arquivo temporário padrão é definido como C: ou algum outro diretório ao qual o IIS não fornece acesso de gravação. Para verificar se isso pode ser um problema em um sistema específico, você pode executar um programa de teste simples com - w ou usar avisos. Isso gerará um aviso se o módulo não puder criar os arquivos temporários necessários: Para evitar esse problema, o método settempdir () pode ser usado para especificar um diretório acessível para a criação de arquivos temporários. O módulo File :: Temp é usado para criar os arquivos temporários. File :: Temp usa File :: Spec para determinar um local apropriado para esses arquivos, como tmp ou c: windowstemp. Você pode descobrir qual diretório é usado no seu sistema da seguinte maneira: mesmo se o diretório de arquivos temporários padrão estiver acessível você pode querer especificar um local alternativo por motivos de segurança ou manutenção: o diretório para o arquivo temporário deve existir, settempdir () irá Não crie um novo diretório. Uma desvantagem de usar o método settempdir () é que, em alguns sistemas Windows, ele irá limitar você a cerca de 800 tempfiles simultâneos. Isso significa que um único programa executado em um desses sistemas será limitado a criar um total de 800 livros e objetos de planilha. Você pode executar múltiplos programas não concorrentes para evitar isso, se necessário. O método setcustomcolor () pode ser usado para substituir um dos valores de paleta incorporados com uma cor mais adequada. O valor do índice deve estar na faixa 8..63, veja 34COLOURS NO EXCEL34. As cores com nome padrão usam os seguintes índices: uma nova cor é definida usando seus componentes RGB (vermelho verde azul). O vermelho. Os valores verde e azul devem estar no intervalo 0..255. Você pode determinar os valores necessários no Excel usando a caixa de diálogo Tools-62Options-62Colors-62Modify. O método de caderno setcustomcolor () também pode ser usado com um valor hexadecimal de estilo HTML rrggbb: O valor de retorno de setcustomcolor () é o índice da cor que foi alterada: o método sheets () retorna uma lista ou uma lista cortada de As planilhas em um caderno de trabalho. Se nenhum argumento for passado, o método retorna uma lista de todas as planilhas na pasta de trabalho. Isso é útil se você quiser repetir uma operação em cada planilha: Você também pode especificar uma lista de fatia para retornar um ou mais objetos de planilha: Ou como o valor de retorno de folhas () é uma referência para um objeto de planilha, você pode escrever o exemplo acima Como: O exemplo a seguir retorna a primeira e a última planilha em uma pasta de trabalho: as fatias de matrizes são explicadas na página de usuário perldata. O Excel armazena as datas como números reais, onde a parte inteira armazena o número de dias desde que a época e a parte fracionada armazenam a porcentagem do dia. A época pode ser 1900 ou 1904. Excel para Windows usa 1900 e o Excel para Macintosh usa 1904. No entanto, o Excel em qualquer plataforma se converterá automaticamente entre um sistema e o outro. Spreadsheet :: WriteExcel armazena as datas no formato 1900 por padrão. Se você deseja mudar isso, você pode chamar o método do conjunto de trabalho set1904 (). Você pode consultar o valor atual ao chamar o método da pasta de trabalho get1904 (). Isso retorna 0 para 1900 e 1 para 1904. Consulte também 34DATES E HORA EM EXCEL34 para obter mais informações sobre como trabalhar com o sistema de datas do Excel39. Em geral, você provavelmente não precisa usar set1904 (). A página de código padrão ou o conjunto de caracteres usado por Spreadsheet :: WriteExcel é ANSI. Este também é o padrão usado pelo Excel para Windows. Ocasionalmente, no entanto, pode ser necessário alterar a página de códigos através do método setcodepage (). Pode ser necessária a alteração da página de códigos se estiver usando Spreadsheet :: WriteExcel no Macintosh e você estiver usando caracteres fora do conjunto de caracteres ASCII 128: o método setcodepage () raramente é necessário. Uma nova planilha é criada chamando o método addworksheet () de um objeto de pasta de trabalho: os seguintes métodos estão disponíveis através de uma nova planilha: Folha de cálculo :: WriteExcel suporta duas formas de notação para designar a posição das células: notação de coluna de linha e notação A1 . A notação de coluna de linha usa um índice baseado em zero para linha e coluna enquanto a notação A1 usa a seqüência alfanumérica padrão da coluna e uma linha baseada em 1. Por exemplo: a notação de coluna de linha é útil se você estiver se referindo células por programação: a notação A1 é útil para configurar uma planilha manualmente e para trabalhar com fórmulas: nas fórmulas e métodos aplicáveis ​​você também pode usar a notação de coluna A: A: Folha de cálculo :: WriteExcel :: O módulo de utilidade que está incluído na distro contém funções auxiliares para lidar com a notação A1, por exemplo: por simplicidade, as listas de parâmetros para as chamadas de método de planilha nas seguintes seções são dadas em termos de notação de coluna de linha . Em todos os casos, também é possível usar a notação A1. Nota: no Excel também é possível usar uma notação R1C1. Isso não é suportado por Spreadsheet :: WriteExcel. O Excel faz uma distinção entre tipos de dados, tais como strings, números, espaços em branco, fórmulas e hiperlinks. Para simplificar o processo de gravação de dados, o método write () atua como um alias geral para vários métodos mais específicos: a regra geral é que, se os dados parecerem algo, algo está escrito. Aqui estão alguns exemplos tanto na coluna de linha como na notação A1: A regra 34looks like34 é definida por expressões regulares: número de registro () se o token é um número baseado no seguinte regex: token writeestring () se keepleadingzeros () estiver configurado e token is Um número inteiro com zeros avançados com base no seguinte regex: token writeblank () se token for undef ou uma string em branco: undef. 3434 ou 3939. Writeurl () se token é um URL http, https, ftp ou mailto com base nas seguintes regexes: token mf ou token writeurl () se token for uma referência de folha interna ou externa com base no seguinte regex: token writeformula () se o primeiro O caracter do token é 3434. Writerow () se token for um array ref. Writecol () se token é um array ref de array refs. Writeestring () se nenhuma das condições anteriores se aplica. O parâmetro de formato é opcional. Deve ser um objeto de formato válido, consulte 34 FORMULÁRIO DE CELHAS34: O método write () ignorará as strings vazias ou os tokens indefinidos, a menos que um formato também seja fornecido. Como tal, você não precisa se preocupar com manipulação especial para valores vazios ou indefinidos em seus dados. Veja também o método writeblank (). Um problema com o método write () é que, ocasionalmente, os dados se parecem com um número, mas você não quer que seja tratado como um número. Por exemplo, os códigos postais ou os números de identificação geralmente começam com um zero inicial. Se você escrever esses dados como um número, o (s) zero (s) principal (s) serão despojados. Você pode alterar esse comportamento padrão usando o método keepleadingzeros (). Enquanto esta propriedade estiver no lugar, qualquer número inteiro com zeros avançados será tratado como cordas e os zeros serão preservados. Veja a seção keepleadingzeros () para uma discussão completa sobre este assunto. Você também pode adicionar seus próprios manipuladores de dados ao método write () usando addwritehandler (). Nos sistemas com perl 5.8 e posterior, o método write () também manipulará cadeias Unicode no formato UTF-8. Os métodos de gravação retornam: Escreva um número inteiro ou um flutuador para a célula especificada por linha e coluna: veja a nota sobre a notação 34Cell34. O parâmetro de formato é opcional. Em geral, é suficiente usar o método write (). Escreva uma string para a célula especificada por linha e coluna: o tamanho máximo da string é 32767 caracteres. No entanto, o segmento de string máximo que o Excel pode exibir em uma célula é 1000. Todos os 32767 caracteres podem ser exibidos na barra de fórmulas. O parâmetro de formato é opcional. Em sistemas com perl 5.8 e posterior, o método write () também irá lidar com strings no formato UTF-8. Com perls mais antigos, você também pode escrever Unicode no formato UTF16 através do método writeutf16bestring (). Veja também os programas unicode. pl no diretório de exemplos da distro. Em geral, é suficiente usar o método write (). No entanto, às vezes, você deseja usar o método writeestring () para escrever dados que parecem um número, mas que você não quer ser tratado como um número. Por exemplo, códigos postais ou números de telefone: no entanto, se o usuário edita essa seqüência, o Excel pode convertê-lo de volta para um número. Para contornar isso, você pode usar o formato de texto do Excel: este método é usado para escrever cadeias UTF-16BE para uma célula no Excel. É funcionalmente o mesmo que o método writeestring (), exceto que a seqüência deve estar no formato Unicode UTF-16BE. Geralmente, é mais fácil, ao usar Spreadsheet :: WriteExcel, para escrever cadeias unicode no formato UTF-8, veja 34UNICODE IN EXCEL34. O método writeutf16bestring () é principalmente usado em versões de perl antes de 5.8. O seguinte é um exemplo simples que mostra como escrever algumas cadeias Unicode no formato UTF-16BE: Você pode converter codificações ASCII para o formato UTF-16BE necessário usando um dos muitos módulos Unicode no CPAN. Por exemplo Unicode :: Map e Unicode :: String. Search. cpan. orgauthorMSCHWARTZUnicode-MapMap. pm e search. cpan. orgauthorGAASUnicode-StringString. pm. UTF-16BE é o formato mais frequentemente retornado pelos módulos Perl que geram UTF-16. Para escrever as cordas UTF-16 no formato Little-Endian use o método writeutf16bestringle () abaixo. O método writeutf16bestring () foi anteriormente chamado de writeunicode (). Isso, excessivamente geral, o nome ainda é suportado, mas está obsoleto. Veja também os programas unicode. pl no diretório de exemplos da distro. Este método é o mesmo que writeutf16be (), exceto que a seqüência de caracteres deve ser caracteres de 16 bits no formato little-endian. Isso é geralmente referido como UTF-16LE. Veja 34UNICODE IN EXCEL34. Os dados UTF-16 podem ser alterados do formato little-endian para big-endian (e vice-versa) da seguinte maneira: Este método muda o processamento padrão de números inteiros com zeros avançados ao usar o método write (). O método write () usa expressões regulares para determinar o tipo de dados a serem gravados em uma planilha do Excel. Se os dados se parecerem com um número, ele escreve um número usando o número de registro (). Um problema com esta abordagem é que, ocasionalmente, os dados se parecem com um número, mas você não quer que seja tratado como um número. Os códigos postais e os números de identificação, por exemplo, geralmente começam com um zero inicial. Se você escrever esses dados como um número, o (s) zero (s) principal (s) serão despojados. Esse também é o comportamento padrão quando você inseriu dados manualmente no Excel. Para contornar isso, você pode usar uma das três opções. Escreva um número formatado, escreva o número como seqüência de caracteres ou use o método keepleadingzeros () para alterar o comportamento padrão de write (): O código acima geraria uma planilha que se parecia com o seguinte: Os exemplos estão em diferentes lados das células Devido ao fato de o Excel exibir strings com uma justificativa esquerda e números com uma justificativa correta por padrão. Você pode alterar isso usando um formato para justificar os dados, consulte 34 FORMULÁRIO DE CELULAR34. Note-se que, se o usuário edita os dados nos exemplos A3 e A4, as cordas retornarão de volta aos números. Mais uma vez, este é o comportamento padrão do Excel. Para evitar isso, você pode usar o formato de texto: A propriedade keepehadeading () está desativada por padrão. O método keepleadingzeros () leva 0 ou 1 como argumento. Por padrão, 1 se um argumento não for especificado: veja também o método addwritehandler (). Escreva uma célula em branco especificada por linha e coluna: Este método é usado para adicionar formatação a uma célula que não contém uma string ou valor de número. Excel diferencia entre uma célula 34Empty34 e uma célula 34Blank34. Uma célula 34Empty34 é uma célula que não contém dados enquanto uma célula 34Blank34 é uma célula que não contém dados, mas contém formatação. Excel armazena células 34Blank34, mas ignora células 34Empty34. Como tal, se você escrever uma célula vazia sem formatação é ignorado: este fato aparentemente desinteressante significa que você pode escrever matrizes de dados sem tratamento especial para valores de seqüência de caracteres indefinidos ou vazios. O método writerow () pode ser usado para escrever uma matriz de dados 1D ou 2D de uma só vez. Isso é útil para converter os resultados de uma consulta de banco de dados em uma planilha do Excel. Você deve passar uma referência à matriz de dados em vez da matriz em si. O método write () é então chamado para cada elemento dos dados. Por exemplo: Nota: por conveniência, o método write () se comporta do mesmo modo que writerow () se for aprovada uma referência de matriz. Portanto, as seguintes duas chamadas de método são equivalentes: como em todos os métodos de gravação, o parâmetro de formato é opcional. Se um formato é especificado, ele é aplicado a todos os elementos da matriz de dados. As referências de matriz dentro dos dados serão tratadas como colunas. Isso permite que você escreva matrizes 2D de dados de uma só vez. Por exemplo: Produziria uma planilha da seguinte maneira: para escrever os dados em uma ordem de coluna de linha, consulte o método writecol () abaixo. Todos os valores indefinidos nos dados serão ignorados, a menos que um formato seja aplicado aos dados, caso em que uma célula em branco formatada será gravada. Em qualquer caso, o valor adequado da linha ou da coluna ainda será incrementado. Para saber mais sobre referências de matriz, consulte perlref e perlreftut na documentação principal do Perl. Para saber mais sobre arrays 2D ou 34 listas de listas34, consulte Perllol. O método writerow () retorna o primeiro erro encontrado ao escrever os elementos dos dados ou zero se nenhum erro foi encontrado. Veja os valores de retorno descritos para o método write () acima. Veja também o programa writearrays. pl no diretório de exemplos da distro. O método writerow () permite a conversão idiomática a seguir de um arquivo de texto para um arquivo do Excel: o método writecol () pode ser usado para escrever uma matriz de dados 1D ou 2D de uma só vez. Isso é útil para converter os resultados de uma consulta de banco de dados em uma planilha do Excel. Você deve passar uma referência à matriz de dados em vez da matriz em si. O método write () é então chamado para cada elemento dos dados. Por exemplo: Tal como acontece com todos os métodos de escrita, o parâmetro de formato é opcional. Se um formato é especificado, ele é aplicado a todos os elementos da matriz de dados. Referências de matriz dentro dos dados serão tratadas como linhas. Isso permite que você escreva matrizes 2D de dados de uma só vez. Por exemplo: Produziria uma planilha da seguinte maneira: Para escrever os dados em uma ordem de linha de coluna, consulte o método writerow () acima. Todos os valores indefinidos nos dados serão ignorados, a menos que um formato seja aplicado aos dados, caso em que uma célula em branco formatada será gravada. Em qualquer caso, o valor adequado da linha ou da coluna ainda será incrementado. Conforme observado acima, o método write () pode ser usado como sinônimo de writerow () e writerow () manipula as combinações de matrizes aninhadas como colunas. Portanto, as seguintes duas chamadas de método são equivalentes, embora a chamada mais explícita para writecol () seja preferível para a manutenção: Para saber mais sobre as referências da matriz, consulte perlref e perlreftut na documentação principal do Perl. Para saber mais sobre arrays 2D ou 34 listas de listas34, consulte Perllol. O método writecol () retorna o primeiro erro encontrado ao escrever os elementos dos dados ou zero se nenhum erro foi encontrado. Veja os valores de retorno descritos para o método write () acima. Veja também o programa writearrays. pl no diretório de exemplos da distro. O método writedatetime () pode ser usado para escrever uma data ou hora para a célula especificada por linha e coluna: A string de datas deve estar no seguinte formato: Esta é conforme a uma data ISO8601, mas deve-se notar que a gama completa de formatos ISO8601 Não são suportados. As seguintes variações no parâmetro datestring são permitidas: Observe que o T é necessário em todos os casos. Uma data sempre deve ter um formato. Caso contrário, ele aparecerá como um número, veja 34DATES E HORA EM EXCEL34 e 34 CAPITALIZAÇÃO34. Aqui está um exemplo típico: as datas válidas devem estar entre 1900-01-01 e 9999-12-31, para a época de 1900 e 1904-01-01 a 9999-12-31, para a época de 1904. Tal como acontece com o Excel, as datas fora desses intervalos serão escritas como uma string. Veja também o programa datetime. pl no diretório de exemplos da distro. Escreva um hiperlink para um URL na célula especificada por linha e coluna. O hiperlink é composto de dois elementos: o rótulo visível e o link invisível. O rótulo visível é o mesmo que o link, a menos que seja especificado um rótulo alternativo. O rótulo de parâmetros e o formato são opcionais e sua posição é intercambiável. O rótulo é escrito usando o método write (). Portanto, é possível escrever strings, números ou fórmulas como rótulos. Existem quatro URI39s de estilo web suportados:. . Ftp: e mailto. Existem dois URIs locais suportados: interno e externo. Estes são usados ​​para hiperlinks para referências de planilha interna ou referências de planilha externa e de planilha: Todos esses tipos de URI são reconhecidos pelo método write (), veja acima. As referências da planilha são normalmente do formulário Sheet1A1. Você também pode consultar um intervalo de planilha usando a notação padrão do Excel: Sheet1A1: B2. Em links externos, o nome da pasta de trabalho e da planilha devem ser separados pelo caracter: externo: Workbook. xlsSheet1A139. Você também pode vincular a um intervalo nomeado na planilha de destino. Por exemplo, diga que você tem um intervalo chamado chamado myname na pasta de trabalho c: tempfoo. xls você pode ligar para ele da seguinte maneira: Nota, você não pode atualmente criar intervalos nomeados com Spreadsheet :: WriteExcel. O Excel requer que os nomes das planilhas que contenham espaços ou caracteres não alfanuméricos sejam simples citados da seguinte forma: 39Sales Data39A1. Se você precisa fazer isso em uma única cadeia citada, então você pode escapar das citações simples 39 ou usar o operador de orçamento q conforme descrito em perlop na documentação principal do Perl. Os links para arquivos de rede também são suportados. Os arquivos de rede do MSNovell normalmente começam com duas barras traseiras da seguinte forma NETWORKetc. Para gerar isso em uma seqüência de caracteres simples ou dupla, você terá que escapar das barras invertidas, 39NETWORKetc39. Se você estiver usando cordas de cotação dupla, então você deve ter o cuidado de escapar de qualquer coisa que pareça um metacaracter. Para mais informações, veja perlfaq5: Por que o can39t uso 34C: tempfoo34 em caminhos do DOS. Finalmente, você pode evitar a maioria desses problemas de citações usando barras oblíquas. Estes são traduzidos internamente para barras invertidas: este método é essencialmente o mesmo que o método writeurl () descrito acima. A principal diferença é que você pode especificar um link para um intervalo de células: este método geralmente é necessário apenas quando usado em conjunto com células mescladas. Veja o método mergerange () e a propriedade de mesclagem de um objeto Format, 34 CAPITALIZAÇÃO 34. There is no way to force this behaviour through the write() method. The parameters string and the format are optional and their position is interchangeable. However, they are applied only to the first cell in the range. Write a formula or function to the cell specified by row and column : See also the section 34Improving performance when working with formulas34 and the storeformula() and repeatformula() methods. If required, it is also possible to specify the calculated value of the formula. This is occasionally necessary when working with non-Excel applications that don39t calculate the value of the formula. The calculated value is added at the end of the argument list: However, this probably isn39t something that will ever need to do. If you do use this feature then do so with care. The storeformula() method is used in conjunction with repeatformula() to speed up the generation of repeated formulas. See 34Improving performance when working with formulas34 in 34FORMULAS AND FUNCTIONS IN EXCEL34 . The storeformula() method pre-parses a textual representation of a formula and stores it for use at a later stage by the repeatformula() method. storeformula() carries the same speed penalty as writeformula(). However, in practice it will be used less frequently. The return value of this method is a scalar that can be thought of as a reference to a formula. Although storeformula() is a worksheet method the return value can be used in any worksheet: The repeatformula() method is used in conjunction with storeformula() to speed up the generation of repeated formulas. See 34Improving performance when working with formulas34 in 34FORMULAS AND FUNCTIONS IN EXCEL34 . In many respects repeatformula() behaves like writeformula() except that it is significantly faster. The repeatformula() method creates a new formula based on the pre-parsed tokens returned by storeformula(). The new formula is generated by substituting pattern. replace pairs in the stored formula: It should be noted that repeatformula() doesn39t modify the tokens. In the above example the substitution is always made against the original token, A1. which doesn39t change. As usual, you can use undef if you don39t wish to specify a format : The substitutions are made from left to right and you can use as many pattern. replace pairs as you need. However, each substitution is made only once: Since the pattern is interpolated each time that it is used it is worth using the qr operator to quote the pattern. The qr operator is explained in the perlop man page. Care should be taken with the values that are substituted. The formula returned by repeatformula() contains several other tokens in addition to those in the formula and these might also match the pattern that you are trying to replace. In particular you should avoid substituting a single 0, 1, 2 or 3. You should also be careful to avoid false matches. For example the following snippet is meant to change the stored formula in steps from A1 SIN(A1) to A10 SIN(A10) . However it contains a bug. In the last iteration of the loop when row is 10 the following substitutions will occur: The solution in this case is to use a more explicit match such as qwA1 : Another similar problem occurs due to the fact that substitutions are made in order. For example the following snippet is meant to change the stored formula from A10 A11 to A11 A12 : However, the actual substitution yields A12 A11 : The solution here would be to reverse the order of the substitutions or to start with a stored formula that won39t yield a false match such as X10 Y11 : If you think that you have a problem related to a false match you can check the tokens that you are substituting against as follows. See also the repeat. pl program in the examples directory of the distro. The writecomment() method is used to add a comment to a cell. A cell comment is indicated in Excel by a small red triangle in the upper right-hand corner of the cell. Moving the cursor over the red triangle will reveal the comment. The following example shows how to add a comment to a cell: As usual you can replace the row and column parameters with an A1 cell reference. See the note about 34Cell notation34 . On systems with perl 5.8 and later the writecomment() method will also handle strings in UTF-8 format. In addition to the basic 3 argument form of writecomment() you can pass in several optional keyvalue pairs to control the format of the comment. For example: Most of these options are quite specific and in general the default comment behaviour will be all that you need. However, should you need greater control over the format of the cell comment the following options are available: This option is used to indicate that the comment string is encoded as UTF-16BE . If you wish to use Unicode characters in the comment string then the preferred method is to use perl 5.8 and UTF-8 strings, see 34UNICODE IN EXCEL34 . This option is used to indicate who the author of the comment is. Excel displays the author of the comment in the status bar at the bottom of the worksheet. This is usually of interest in corporate environments where several people might review and provide comments to a workbook. This option is used to indicate that the author string is encoded as UTF-16BE . This option is used to make a cell comment visible when the worksheet is opened. The default behaviour in Excel is that comments are initially hidden. However, it is also possible in Excel to make individual or all comments visible. In Spreadsheet::WriteExcel individual comments can be made visible as follows: It is possible to make all comments in a worksheet visible using the showcomments() worksheet method (see below). Alternatively, if all of the cell comments have been made visible you can hide individual comments: This option is used to set the width of the cell comment box as a factor of the default width. This option is used to set the width of the cell comment box explicitly in pixels. This option is used to set the height of the cell comment box as a factor of the default height. This option is used to set the height of the cell comment box explicitly in pixels. This option is used to set the background colour of cell comment box. You can use one of the named colours recognised by Spreadsheet::WriteExcel or a colour index. See 34COLOURS IN EXCEL34 . This option is used to set the cell in which the comment will appear. By default Excel displays comments one cell to the right and one cell above the cell to which the comment relates. However, you can change this behaviour if you wish. In the following example the comment which would appear by default in cell D2 is moved to E2 . This option is used to set the row in which the comment will appear. See the startcell option above. The row is zero indexed. This option is used to set the column in which the comment will appear. See the startcell option above. The column is zero indexed. This option is used to change the x offset, in pixels, of a comment within a cell: This option is used to change the y offset, in pixels, of a comment within a cell: You can apply as many of these options as you require. This method is used to make all cell comments visible when a worksheet is opened. Individual comments can be made visible using the visible parameter of the writecomment method (see above): If all of the cell comments have been made visible you can hide individual comments as follows: This method is used to extend the Spreadsheet::WriteExcel write() method to handle user defined data. If you refer to the section on write() above you will see that it acts as an alias for several more specific write methods. However, it doesn39t always act in exactly the way that you would like it to. One solution is to filter the input data yourself and call the appropriate write method. Another approach is to use the addwritehandler() method to add your own automated behaviour to write() . The addwritehandler() method take two arguments, re. a regular expression to match incoming data and coderef a callback function to handle the matched data: (In the these examples the qr operator is used to quote the regular expression strings, see perlop for more details). The method is used as follows. say you wished to write 7 digit ID numbers as a string so that any leading zeros were preserved, you could do something like the following: You could also use the keepleadingzeros() method for this. Then if you call write() with an appropriate string it will be handled automatically: The callback function will receive a reference to the calling worksheet and all of the other arguments that were passed to write(). The callback will see an argument list that looks like the following: Your callback should return() the return value of the write method that was called or undef to indicate that you rejected the match and want write() to continue as normal. So for example if you wished to apply the previous filter only to ID values that occur in the first column you could modify your callback function as follows: Now, you will get different behaviour for the first column and other columns: You may add more than one handler in which case they will be called in the order that they were added. Note, the addwritehandler() method is particularly suited for handling dates. See the writehandler 1-4 programs in the examples directory for further examples. This method can be used to insert a image into a worksheet. The image can be in PNG, JPEG or BMP format. The x. Y. scalex and scaley parameters are optional. The parameters x and y can be used to specify an offset from the top left hand corner of the cell specified by row and col. The offset values are in pixels. The default width of a cell is 63 pixels. The default height of a cell is 17 pixels. The pixels offsets can be calculated using the following relationships: The offsets can be greater than the width or height of the underlying cell. This can be occasionally useful if you wish to align two or more images relative to the same cell. The parameters scalex and scaley can be used to scale the inserted image horizontally and vertically: See also the images. pl program in the examples directory of the distro. BMP images must be 24 bit, true colour, bitmaps. In general it is best to avoid BMP images since they aren39t compressed. The older insertbitmap() method is still supported but deprecated. This method can be used to insert a Chart object into a worksheet. The Chart must be created by the addchart() Workbook method and it must have the embedded option set. See addchart() for details on how to create the Chart object and Spreadsheet::WriteExcel::Chart for details on how to configure it. See also the chart. pl programs in the examples directory of the distro. The x. Y. scalex and scaley parameters are optional. The parameters x and y can be used to specify an offset from the top left hand corner of the cell specified by row and col. The offset values are in pixels. See the insertimage method above for more information on sizes. The parameters scalex and scaley can be used to scale the inserted image horizontally and vertically: The easiest way to calculate the required scaling is to create a test chart worksheet with Spreadsheet::WriteExcel. Then open the file, select the chart and drag the corner to get the required size. While holding down the mouse the scale of the resized chart is shown to the left of the formula bar. This method can be used to insert a externally generated chart into a worksheet. The chart must first be extracted from an existing Excel file. This feature is semi-deprecated in favour of the 34native34 charts created using addchart(). Read externalcharts. txt (or. pod ) in the externalcharts directory of the distro for a full explanation. Here is an example: The x. Y. scalex and scaley parameters are optional. See insertchart() above for details. The datavalidation() method is used to construct an Excel data validation or to limit the user input to a dropdown list of values. This method contains a lot of parameters and is described in detail in a separate section 34DATA VALIDATION IN EXCEL34 . See also the datavalidate. pl program in the examples directory of the distro The getname() method is used to retrieve the name of a worksheet. For example: For reasons related to the design of Spreadsheet::WriteExcel and to the internals of Excel there is no setname() method. The only way to set the worksheet name is via the addworksheet() method. The activate() method is used to specify which worksheet is initially visible in a multi-sheet workbook: This is similar to the Excel VBA activate method. More than one worksheet can be selected via the select() method, see below, however only one worksheet can be active. The default active worksheet is the first worksheet. The select() method is used to indicate that a worksheet is selected in a multi-sheet workbook: A selected worksheet has its tab highlighted. Selecting worksheets is a way of grouping them together so that, for example, several worksheets could be printed in one go. A worksheet that has been activated via the activate() method will also appear as selected. The hide() method is used to hide a worksheet: You may wish to hide a worksheet in order to avoid confusing a user with intermediate data or calculations. A hidden worksheet can not be activated or selected so this method is mutually exclusive with the activate() and select() methods. In addition, since the first worksheet will default to being the active worksheet, you cannot hide the first worksheet without activating another sheet: The activate() method determines which worksheet is initially selected. However, if there are a large number of worksheets the selected worksheet may not appear on the screen. To avoid this you can select which is the leftmost visible worksheet using setfirstsheet() : This method is not required very often. The default value is the first worksheet. The protect() method is used to protect a worksheet from modification: It can be turned off in Excel via the Tools-62Protection-62Unprotect Sheet menu command. The protect() method also has the effect of enabling a cell39s locked and hidden properties if they have been set. A 34locked34 cell cannot be edited. A 34hidden34 cell will display the results of a formula but not the formula itself. In Excel a cell39s locked property is on by default. See also the setlocked and sethidden format methods in 34CELL FORMATTING34 . You can optionally add a password to the worksheet protection: Note, the worksheet level password in Excel provides very weak protection. It does not encrypt your data in any way and it is very easy to deactivate. Therefore, do not use the above method if you wish to protect sensitive data or calculations. However, before you get worried, Excel39s own workbook level password protection does provide strong encryption in Excel 97. For technical reasons this will never be supported by Spreadsheet::WriteExcel . This method can be used to specify which cell or cells are selected in a worksheet. The most common requirement is to select a single cell, in which case lastrow and lastcol can be omitted. The active cell within a selected range is determined by the order in which first and last are specified. It is also possible to specify a cell or a range using A1 notation. See the note about 34Cell notation34 . The default cell selections is (0, 0), 39A139. This method can be used to change the default properties of a row. All parameters apart from row are optional. The most common use for this method is to change the height of a row: If you wish to set the format without changing the height you can pass undef as the height parameter: The format parameter will be applied to any cells in the row that don39t have a format. For example If you wish to define a row format in this way you should call the method before any calls to write(). Calling it afterwards will overwrite any format that was previously specified. The hidden parameter should be set to 1 if you wish to hide a row. This can be used, for example, to hide intermediary steps in a complicated calculation: The level parameter is used to set the outline level of the row. Outlines are described in 34OUTLINES AND GROUPING IN EXCEL34. Adjacent rows with the same outline level are grouped together into a single outline. The following example sets an outline level of 1 for rows 1 and 2 (zero-indexed): The hidden parameter can also be used to hide collapsed outlined rows when used in conjunction with the level parameter. For collapsed outlines you should also indicate which row has the collapsed symbol using the optional collapsed parameter. For a more complete example see the outline. pl and outlinecollapsed. pl programs in the examples directory of the distro. Excel allows up to 7 outline levels. Therefore the level parameter should be in the range 0 60 level 60 7 . This method can be used to change the default properties of a single column or a range of columns. All parameters apart from firstcol and lastcol are optional. If setcolumn() is applied to a single column the value of firstcol and lastcol should be the same. In the case where lastcol is zero it is set to the same value as firstcol . It is also possible, and generally clearer, to specify a column range using the form of A1 notation used for columns. See the note about 34Cell notation34 . The width corresponds to the column width value that is specified in Excel. It is approximately equal to the length of a string in the default font of Arial 10. Unfortunately, there is no way to specify 34AutoFit34 for a column in the Excel file format. This feature is only available at runtime from within Excel. As usual the format parameter is optional, for additional information, see 34CELL FORMATTING34. If you wish to set the format without changing the width you can pass undef as the width parameter: The format parameter will be applied to any cells in the column that don39t have a format. For example If you wish to define a column format in this way you should call the method before any calls to write(). If you call it afterwards it won39t have any effect. A default row format takes precedence over a default column format The hidden parameter should be set to 1 if you wish to hide a column. This can be used, for example, to hide intermediary steps in a complicated calculation: The level parameter is used to set the outline level of the column. Outlines are described in 34OUTLINES AND GROUPING IN EXCEL34. Adjacent columns with the same outline level are grouped together into a single outline. The following example sets an outline level of 1 for columns B to G: The hidden parameter can also be used to hide collapsed outlined columns when used in conjunction with the level parameter. For collapsed outlines you should also indicate which row has the collapsed symbol using the optional collapsed parameter. For a more complete example see the outline. pl and outlinecollapsed. pl programs in the examples directory of the distro. Excel allows up to 7 outline levels. Therefore the level parameter should be in the range 0 60 level 60 7 . The outlinesettings() method is used to control the appearance of outlines in Excel. Outlines are described in 34OUTLINES AND GROUPING IN EXCEL34 . The visible parameter is used to control whether or not outlines are visible. Setting this parameter to 0 will cause all outlines on the worksheet to be hidden. They can be unhidden in Excel by means of the 34Show Outline Symbols34 command button. The default setting is 1 for visible outlines. The symbolsbelow parameter is used to control whether the row outline symbol will appear above or below the outline level bar. The default setting is 1 for symbols to appear below the outline level bar. The symbolsright parameter is used to control whether the column outline symbol will appear to the left or the right of the outline level bar. The default setting is 1 for symbols to appear to the right of the outline level bar. The autostyle parameter is used to control whether the automatic outline generator in Excel uses automatic styles when creating an outline. This has no effect on a file generated by Spreadsheet::WriteExcel but it does have an effect on how the worksheet behaves after it is created. The default setting is 0 for 34Automatic Styles34 to be turned off. The default settings for all of these parameters correspond to Excel39s default parameters. The worksheet parameters controlled by outlinesettings() are rarely used. This method can be used to divide a worksheet into horizontal or vertical regions known as panes and to also 34freeze34 these panes so that the splitter bars are not visible. This is the same as the Window-62Freeze Panes menu command in Excel The parameters row and col are used to specify the location of the split. It should be noted that the split is specified at the top or left of a cell and that the method uses zero based indexing. Therefore to freeze the first row of a worksheet it is necessary to specify the split at row 2 (which is 1 as the zero-based index). This might lead you to think that you are using a 1 based index but this is not the case. You can set one of the row and col parameters as zero if you do not want either a vertical or horizontal split. The parameters toprow and leftcol are optional. They are used to specify the top-most or left-most visible row or column in the scrolling region of the panes. For example to freeze the first row and to have the scrolling region begin at row twenty: You cannot use A1 notation for the toprow and leftcol parameters. See also the panes. pl program in the examples directory of the distribution. This method can be used to divide a worksheet into horizontal or vertical regions known as panes. This method is different from the freezepanes() method in that the splits between the panes will be visible to the user and each pane will have its own scroll bars. The parameters y and x are used to specify the vertical and horizontal position of the split. The units for y and x are the same as those used by Excel to specify row height and column width. However, the vertical and horizontal units are different from each other. Therefore you must specify the y and x parameters in terms of the row heights and column widths that you have set or the default values which are 12.75 for a row and 8.43 for a column. You can set one of the y and x parameters as zero if you do not want either a vertical or horizontal split. The parameters toprow and leftcol are optional. They are used to specify the top-most or left-most visible row or column in the bottom-right pane. You cannot use A1 notation with this method. See also the freezepanes() method and the panes. pl program in the examples directory of the distribution. Note: This splitpanes() method was called thawpanes() in older versions. The older name is still available for backwards compatibility. Merging cells can be achieved by setting the merge property of a Format object, see 34CELL FORMATTING34. However, this only allows simple Excel5 style horizontal merging which Excel refers to as 34center across selection34. The mergerange() method allows you to do Excel97 style formatting where the cells can contain other types of alignment in addition to the merging: WARNING . The format object that is used with a mergerange() method call is marked internally as being associated with a merged range. It is a fatal error to use a merged format in a non-merged cell. Instead you should use separate formats for merged and non-merged cells. This restriction will be removed in a future release. The utf16be parameter is optional, see below. mergerange() writes its token argument using the worksheet write() method. Therefore it will handle numbers, strings, formulas or urls as required. Setting the merge property of the format isn39t required when you are using mergerange(). In fact using it will exclude the use of any other horizontal alignment option. On systems with perl 5.8 and later the mergerange() method will also handle strings in UTF-8 format. On earlier Perl systems your can specify UTF-16BE worksheet names using an additional optional parameter: The full possibilities of this method are shown in the merge3.pl to merge6.pl programs in the examples directory of the distribution. Set the worksheet zoom factor in the range 10 60 scale 60 400 : The default zoom factor is 100. You cannot zoom to 34Selection34 because it is calculated by Excel at run-time. Note, setzoom() does not affect the scale of the printed page. For that you should use setprintscale() . The righttoleft() method is used to change the default direction of the worksheet from left-to-right, with the A1 cell in the top left, to right-to-left, with the he A1 cell in the top right. This is useful when creating Arabic, Hebrew or other near or far eastern worksheets that use right-to-left as the default direction. The hidezero() method is used to hide any zero values that appear in cells. In Excel this option is found under Tools-62Options-62View. The settabcolor() method is used to change the colour of the worksheet tab. This feature is only available in Excel 2002 and later. You can use one of the standard colour names provided by the Format object or a colour index. See 34COLOURS IN EXCEL34 and the setcustomcolor() method. See the tabcolors. pl program in the examples directory of the distro. This method allows an autofilter to be added to a worksheet. An autofilter is a way of adding drop down lists to the headers of a 2D range of worksheet data. This in turn allow users to filter the data based on simple criteria so that some data is shown and some is hidden. To add an autofilter to a worksheet: Filter conditions can be applied using the filtercolumn() method. See the autofilter. pl program in the examples directory of the distro for a more detailed example. The filtercolumn method can be used to filter columns in a autofilter range based on simple conditions. NOTE: It isn39t sufficient to just specify the filter condition. You must also hide any rows that don39t match the filter condition. Rows are hidden using the setrow() visible parameter. Spreadsheet::WriteExcel cannot do this automatically since it isn39t part of the file format. See the autofilter. pl program in the examples directory of the distro for an example. The conditions for the filter are specified using simple expressions: The column parameter can either be a zero indexed column number or a string column name. The following operators are available: The operator synonyms are just syntactic sugar to make you more comfortable using the expressions. It is important to remember that the expressions will be interpreted by Excel and not by perl. An expression can comprise a single statement or two statements separated by the and and or operators. For example: Filtering of blank or non-blank data can be achieved by using a value of Blanks or NonBlanks in the expression: Top 10 style filters can be specified using a expression like the following: Excel also allows some simple string matching operations: You can also use to match any character or number and. to match any single character or number. No other regular expression quantifier is supported by Excel39s filters. Excel39s regular expression characters can be escaped using The placeholder variable x in the above examples can be replaced by any simple string. The actual placeholder name is ignored internally so the following are all equivalent: Also, note that a filter condition can only be applied to a column in a range specified by the autofilter() Worksheet method. See the autofilter. pl program in the examples directory of the distro for a more detailed example. Page set-up methods affect the way that a worksheet looks when it is printed. They control features such as page headers and footers and margins. These methods are really just standard worksheet methods. They are documented here in a separate section for the sake of clarity. The following methods are available for page set-up: A common requirement when working with Spreadsheet::WriteExcel is to apply the same page set-up features to all of the worksheets in a workbook. To do this you can use the sheets() method of the workbook class to access the array of worksheets in a workbook: This method is used to set the orientation of a worksheet39s printed page to landscape: This method is used to set the orientation of a worksheet39s printed page to portrait. The default worksheet orientation is portrait, so you won39t generally need to call this method. This method is used to display the worksheet in 34Page View34 mode. This is currently only supported by Mac Excel, where it is the default. This method is used to set the paper format for the printed output of a worksheet. The following paper styles are available: Note, it is likely that not all of these paper types will be available to the end user since it will depend on the paper formats that the user39s printer supports. Therefore, it is best to stick to standard paper types. If you do not specify a paper type the worksheet will print using the printer39s default paper. Center the worksheet data horizontally between the margins on the printed page: Center the worksheet data vertically between the margins on the printed page: There are several methods available for setting the worksheet margins on the printed page: All of these methods take a distance in inches as a parameter. Note: 1 inch 25.4mm. -) The default left and right margin is 0.75 inch. The default top and bottom margin is 1.00 inch. Headers and footers are generated using a string which is a combination of plain text and control characters. The margin parameter is optional. The available control character are: Text in headers and footers can be justified (aligned) to the left, center and right by prefixing the text with the control characters 38L. 38C and 38R . For example (with ASCII art representation of the results): For simple text, if you do not specify any justification the text will be centred. However, you must prefix the text with 38C if you specify a font name or any other formatting: You can have text in each of the justification regions: The information control characters act as variables that Excel will update as the workbook or worksheet changes. Times and dates are in the users default format: You can specify the font size of a section of the text by prefixing it with the control character 38n where n is the font size: You can specify the font of a section of the text by prefixing it with the control sequence 3834font, style34 where fontname is a font name such as 34Courier New34 or 34Times New Roman34 and style is one of the standard Windows font descriptions: 34Regular34, 34Italic34, 34Bold34 or 34Bold Italic34: It is possible to combine all of these features together to create sophisticated headers and footers. As an aid to setting up complicated headers and footers you can record a page set-up as a macro in Excel and look at the format strings that VBA produces. Remember however that VBA uses two double quotes 3434 to indicate a single double quote. For the last example above the equivalent VBA code looks like this: To include a single literal ampersand 38 in a header or footer you should use a double ampersand 3838 : As stated above the margin parameter is optional. As with the other margins the value should be in inches. The default header and footer margin is 0.50 inch. The header and footer margin size can be set as follows: The header and footer margins are independent of the top and bottom margins. Note, the header or footer string must be less than 255 characters. Strings longer than this will not be written and a warning will be generated. On systems with perl 5.8 and later the setheader() method can also handle Unicode strings in UTF-8 format. See, also the headers. pl program in the examples directory of the distribution. The syntax of the setfooter() method is the same as setheader(). see above. Set the number of rows to repeat at the top of each printed page. For large Excel documents it is often desirable to have the first row or rows of the worksheet print out at the top of each page. This can be achieved by using the repeatrows() method. The parameters firstrow and lastrow are zero based. The lastrow parameter is optional if you only wish to specify one row: Set the columns to repeat at the left hand side of each printed page. For large Excel documents it is often desirable to have the first column or columns of the worksheet print out at the left hand side of each page. This can be achieved by using the repeatcolumns() method. The parameters firstcolumn and lastcolumn are zero based. The lastcolumn parameter is optional if you only wish to specify one column. You can also specify the columns using A1 column notation, see the note about 34Cell notation34 . This method is used to hide the gridlines on the screen and printed page. Gridlines are the lines that divide the cells on a worksheet. Screen and printed gridlines are turned on by default in an Excel worksheet. If you have defined your own cell borders you may wish to hide the default gridlines. The following values of option are valid: If you don39t supply an argument or use undef the default option is 1, i. e. only the printed gridlines are hidden. Set the option to print the row and column headers on the printed page. An Excel worksheet looks something like the following The headers are the letters and numbers at the top and the left of the worksheet. Since these headers serve mainly as a indication of position on the worksheet they generally do not appear on the printed page. If you wish to have them printed you can use the printrowcolheaders() method : Do not confuse these headers with page headers as described in the setheader() section above. This method is used to specify the area of the worksheet that will be printed. All four parameters must be specified. You can also use A1 notation, see the note about 34Cell notation34 . The printacross method is used to change the default print direction. This is referred to by Excel as the sheet 34page order34. The default page order is shown below for a worksheet that extends over 4 pages. The order is called 34down then across34: However, by using the printacross method the print order will be changed to 34across then down34: The fittopages() method is used to fit the printed area to a specific number of pages both vertically and horizontally. If the printed area exceeds the specified number of pages it will be scaled down to fit. This guarantees that the printed area will always appear on the specified number of pages even if the page size or margins change. The print area can be defined using the printarea() method as described above. A common requirement is to fit the printed output to n pages wide but have the height be as long as necessary. To achieve this set the height to zero or leave it blank: Note that although it is valid to use both fittopages() and setprintscale() on the same worksheet only one of these options can be active at a time. The last method call made will set the active option. Note that fittopages() will override any manual page breaks that are defined in the worksheet. The setstartpage() method is used to set the number of the starting page when the worksheet is printed out. The default value is 1. Set the scale factor of the printed page. Scale factors in the range 10 60 scale 60 400 are valid: The default scale factor is 100. Note, setprintscale() does not affect the scale of the visible page in Excel. For that you should use setzoom() . Note also that although it is valid to use both fittopages() and setprintscale() on the same worksheet only one of these options can be active at a time. The last method call made will set the active option. Add horizontal page breaks to a worksheet. A page break causes all the data that follows it to be printed on the next page. Horizontal page breaks act between rows. To create a page break between rows 20 and 21 you must specify the break at row 21. However in zero index notation this is actually row 20. So you can pretend for a small while that you are using 1 index notation: The sethpagebreaks() method will accept a list of page breaks and you can call it more than once: Note: If you specify the 34fit to page34 option via the fittopages() method it will override all manual page breaks. There is a silent limitation of about 1000 horizontal page breaks per worksheet in line with an Excel internal limitation. Add vertical page breaks to a worksheet. A page break causes all the data that follows it to be printed on the next page. Vertical page breaks act between columns. To create a page break between columns 20 and 21 you must specify the break at column 21. However in zero index notation this is actually column 20. So you can pretend for a small while that you are using 1 index notation: The setvpagebreaks() method will accept a list of page breaks and you can call it more than once: Note: If you specify the 34fit to page34 option via the fittopages() method it will override all manual page breaks. This section describes the methods and properties that are available for formatting cells in Excel. The properties of a cell that can be formatted include: fonts, colours, patterns, borders, alignment and number formatting. Cell formatting is defined through a Format object. Format objects are created by calling the workbook addformat() method as follows: The format object holds all the formatting properties that can be applied to a cell, a row or a column. The process of setting these properties is discussed in the next section. Once a Format object has been constructed and its properties have been set it can be passed as an argument to the worksheet write methods as follows: Formats can also be passed to the worksheet setrow() and setcolumn() methods to define the default property for a row or column. The following table shows the Excel format categories, the formatting properties that can be applied and the equivalent object method: There are two ways of setting Format properties: by using the object method interface or by setting the property directly. For example, a typical use of the method interface would be as follows: By comparison the properties can be set directly by passing a hash of properties to the Format constructor: or after the Format has been constructed by means of the setformatproperties() method as follows: You can also store the properties in one or more named hashes and pass them to the required method: The provision of two ways of setting properties might lead you to wonder which is the best way. The method mechanism may be better is you prefer setting properties via method calls (which the author did when the code was first written) otherwise passing properties to the constructor has proved to be a little more flexible and self documenting in practice. An additional advantage of working with property hashes is that it allows you to share formatting between workbook objects as shown in the example above. The PerlTk style of adding properties is also supported: The default format is Arial 10 with all other properties off. Each unique format in Spreadsheet::WriteExcel must have a corresponding Format object. It isn39t possible to use a Format with a write() method and then redefine the Format for use at a later stage. This is because a Format is applied to a cell not in its current state but in its final state. Consider the following example: Cell A1 is assigned the Format format which is initially set to the colour red. However, the colour is subsequently set to green. When Excel displays Cell A1 it will display the final state of the Format which in this case will be the colour green. In general a method call without an argument will turn a property on, for example: The Format object methods are described in more detail in the following sections. In addition, there is a Perl program called formats. pl in the examples directory of the WriteExcel distribution. This program creates an Excel workbook called formats. xls which contains examples of almost all the format types. The following Format methods are available: The above methods can also be applied directly as properties. For example format-62setbold() is equivalent to workbook-62addformat(bold 62 1) . The properties of an existing Format object can be also be set by means of setformatproperties() : However, this method is here mainly for legacy reasons. It is preferable to set the properties in the format constructor: Specify the font used: Excel can only display fonts that are installed on the system that it is running on. Therefore it is best to use the fonts that come as standard such as 39Arial39, 39Times New Roman39 and 39Courier New39. See also the Fonts worksheet created by formats. pl Set the font size. Excel adjusts the height of a row to accommodate the largest font size in the row. You can also explicitly specify the height of a row using the setrow() worksheet method. Set the font colour. The setcolor() method is used as follows: Note: The setcolor() method is used to set the colour of the font in a cell. To set the colour of a cell use the setbgcolor() and setpattern() methods. For additional examples see the 39Named colors39 and 39Standard colors39 worksheets created by formats. pl in the examples directory. Set the bold property of the font: 1 Actually, values in the range 100..1000 are also valid. 400 is normal, 700 is bold and 1000 is very bold indeed. It is probably best to set the value to 1 and use normal bold. Set the italic property of the font: Set the underline property of the font. Set the strikeout property of the font. Set the superscriptsubscript property of the font. This format is currently not very useful. This method is used to define the numerical format of a number in Excel. It controls whether a number is displayed as an integer, a floating point number, a date, a currency value or some other user defined format. The numerical format of a cell can be specified by using a format string or an index to one of Excel39s built-in formats: Using format strings you can define very sophisticated formatting of numbers. The number system used for dates is described in 34DATES AND TIME IN EXCEL34 . The colour format should have one of the following values: Alternatively you can specify the colour based on a colour index as follows: Color n. where n is a standard Excel colour index - 7. See the 39Standard colors39 worksheet created by formats. pl. For more information refer to the documentation on formatting in the docs directory of the Spreadsheet::WriteExcel distro, the Excel on-line help or office. microsoften-gbassistanceHP051995001033.aspx . You should ensure that the format string is valid in Excel prior to using it in WriteExcel. Excel39s built-in formats are shown in the following table: For examples of these formatting codes see the 39Numerical formats39 worksheet created by formats. pl. See also the numberformats1.html and the numberformats2.html documents in the docs directory of the distro. Note 1. Numeric formats 23 to 36 are not documented by Microsoft and may differ in international versions. Note 2. In Excel 5 the dollar sign appears as a dollar sign. In Excel 97-2000 it appears as the defined local currency symbol. Note 3. The red negative numeric formats display slightly differently in Excel 5 and Excel 97-2000. This property can be used to prevent modification of a cells contents. Following Excel39s convention, cell locking is turned on by default. However, it only has an effect if the worksheet has been protected, see the worksheet protect() method. Note: This offers weak protection even with a password, see the note in relation to the protect() method. This property is used to hide a formula while still displaying its result. This is generally used to hide complex calculations from end users who are only interested in the result. It only has an effect if the worksheet has been protected, see the worksheet protect() method. Note: This offers weak protection even with a password, see the note in relation to the protect() method. This method is used to set the horizontal and vertical text alignment within a cell. Vertical and horizontal alignments can be combined. The method is used as follows: Text can be aligned across two or more adjacent cells using the centeracross property. However, for genuine merged cells it is better to use the mergerange() worksheet method. The vjustify (vertical justify) option can be used to provide automatic text wrapping in a cell. The height of the cell will be adjusted to accommodate the wrapped text. To specify where the text wraps use the settextwrap() method. For further examples see the 39Alignment39 worksheet created by formats. pl. Text can be aligned across two or more adjacent cells using the setcenteracross() method. This is an alias for the setalign(39centeracross39) method call. Only one cell should contain the text, the other cells should be blank: See also the merge1.pl to merge6.pl programs in the examples directory and the mergerange() method. Here is an example using the text wrap property, the escape character n is used to indicate the end of line: Excel will adjust the height of the row to accommodate the wrapped text. A similar effect can be obtained without newlines using the setalign(39vjustify39) method. See the textwrap. pl program in the examples directory. Set the rotation of the text in a cell. The rotation can be any angle in the range -90 to 90 degrees. The angle 270 is also supported. This indicates text where the letters run from top to bottom. This method can be used to indent text. The argument, which should be an integer, is taken as the level of indentation: Indentation is a horizontal alignment property. It will override any other horizontal properties but it can be used in conjunction with vertical properties. This method can be used to shrink text so that it fits in a cell. Only applies to Far Eastern versions of Excel. Set the background pattern of a cell. Examples of the available patterns are shown in the 39Patterns39 worksheet created by formats. pl. However, it is unlikely that you will ever need anything other than Pattern 1 which is a solid fill of the background color. The setbgcolor() method can be used to set the background colour of a pattern. Patterns are defined via the setpattern() method. If a pattern hasn39t been defined then a solid fill pattern is used as the default. Here is an example of how to set up a solid fill in a cell: For further examples see the 39Patterns39 worksheet created by formats. pl. The setfgcolor() method can be used to set the foreground colour of a pattern. For further examples see the 39Patterns39 worksheet created by formats. pl. A cell border is comprised of a border on the bottom, top, left and right. These can be set to the same value using setborder() or individually using the relevant method calls shown above. The following shows the border styles sorted by Spreadsheet::WriteExcel index number: The following shows the borders sorted by style: The following shows the borders in the order shown in the Excel Dialog. Examples of the available border styles are shown in the 39Borders39 worksheet created by formats. pl. Set the colour of the cell borders. A cell border is comprised of a border on the bottom, top, left and right. These can be set to the same colour using setbordercolor() or individually using the relevant method calls shown above. Examples of the border styles and colours are shown in the 39Borders39 worksheet created by formats. pl. This method is used to copy all of the properties from one Format object to another: The copy() method is only useful if you are using the method interface to Format properties. It generally isn39t required if you are setting Format properties directly using hashes. Note: this is not a copy constructor, both objects must exist prior to copying. The following is a brief introduction to handling Unicode in Spreadsheet::WriteExcel . For a more general introduction to Unicode handling in Perl see perlunitut and perluniintro . When using Spreadsheet::WriteExcel the best and easiest way to write unicode strings to an Excel file is to use UTF-8 encoded strings and perl 5.8 (or later). Spreadsheet::WriteExcel also allows you to write unicode strings using older perls but it generally requires more work, as explained below. Internally, Excel encodes unicode data as UTF-16LE (where LE means little-endian). If you are using perl 5.8 then Spreadsheet::WriteExcel will convert UTF-8 strings to UTF-16LE when required. No further intervention is required from the programmer, for example: Spreadsheet::WriteExcel also lets you write unicode data as UTF-16. Since the majority of CPAN modules default to UTF-16BE (big-endian) Spreadsheet::WriteExcel also uses UTF-16BE and converts it internally to UTF-16LE : Although the above examples look similar there is an important difference. With uft8 and perl 5.8 Spreadsheet::WriteExcel treats UTF-8 strings in exactly the same way as any other string. However, with UTF16 data we need to distinguish it from other strings either by calling a separate function or by passing an additional flag to indicate the data type. If you are dealing with non-ASCII characters that aren39t in UTF-8 then perl 5.8 provides useful tools in the guise of the Encode module to help you to convert to the required format. For example: Alternatively you can read data from an encoded file and convert it to UTF-8 as you read it in: See also the unicode. pl programs in the examples directory of the distro. Excel provides a colour palette of 56 colours. In Spreadsheet::WriteExcel these colours are accessed via their palette index in the range 8..63. This index is used to set the colour of fonts, cell patterns and cell borders. For example: The most commonly used colours can also be accessed by name. The name acts as a simple alias for the colour index: Users of VBA in Excel should note that the equivalent colour indices are in the range 1..56 instead of 8..63. If the default palette does not provide a required colour you can override one of the built-in values. This is achieved by using the setcustomcolor() workbook method to adjust the RGB (red green blue) components of the colour: The default Excel colour palette is shown in palette. html in the docs directory of the distro. You can generate an Excel version of the palette using colors. pl in the examples directory. There are two important things to understand about dates and times in Excel: These two points are explained in more detail below along with some suggestions on how to convert times and dates to the required format. If you write a date string with write() then all you will get is a string: Dates and times in Excel are represented by real numbers, for example 34Jan 1 2001 12:30 AM34 is represented by the number 36892.521. The integer part of the number stores the number of days since the epoch and the fractional part stores the percentage of the day. A date or time in Excel is just like any other number. To have the number display as a date you must apply an Excel number format to it. Aqui estão alguns exemplos. Spreadsheet::WriteExcel doesn39t automatically convert input date strings into Excel39s formatted date numbers due to the large number of possible date formats and also due to the possibility of misinterpretation. For example, does 020304 mean March 2 2004, February 3 2004 or even March 4 2002. Therefore, in order to handle dates you will have to convert them to numbers and apply an Excel format. Some methods for converting dates are listed in the next section. The most direct way is to convert your dates to the ISO8601 yyyy-mm-ddThh:mm:ss. sss date format and use the writedatetime() worksheet method: See the writedatetime() section of the documentation for more details. A general methodology for handling date strings with writedatetime() is: Here is an example: For a slightly more advanced solution you can modify the write() method to handle date formats of your choice via the addwritehandler() method. See the addwritehandler() section of the docs and the writehandler3.pl and writehandler4.pl programs in the examples directory of the distro. The writedatetime() method above is just one way of handling dates and times. The Spreadsheet::WriteExcel::Utility module which is included in the distro has datetime handling functions: Note: some of these functions require additional CPAN modules. Excel allows you to group rows or columns so that they can be hidden or displayed with a single mouse click. This feature is referred to as outlines. Outlines can reduce complex data down to a few salient sub-totals or summaries. This feature is best viewed in Excel but the following is an ASCII representation of what a worksheet with three outlines might look like. Rows 3-4 and rows 7-8 are grouped at level 2. Rows 2-9 are grouped at level 1. The lines at the left hand side are called outline level bars. Clicking the minus sign on each of the level 2 outlines will collapse and hide the data as shown in the next figure. The minus sign changes to a plus sign to indicate that the data in the outline is hidden. Clicking on the minus sign on the level 1 outline will collapse the remaining rows as follows: Grouping in Spreadsheet::WriteExcel is achieved by setting the outline level via the setrow() and setcolumn() worksheet methods: The following example sets an outline level of 1 for rows 1 and 2 (zero-indexed) and columns B to G. The parameters height and XF are assigned default values since they are undefined: Excel allows up to 7 outline levels. Therefore the level parameter should be in the range 0 60 level 60 7 . Rows and columns can be collapsed by setting the hidden flag for the hidden rowscolumns and setting the collapsed flag for the rowcolumn that has the collapsed symbol: Note: Setting the collapsed flag is particularly important for compatibility with OpenOffice. org and Gnumeric. For a more complete example see the outline. pl and outlinecollapsed. pl programs in the examples directory of the distro. Some additional outline properties can be set via the outlinesettings() worksheet method, see above. Data validation is a feature of Excel which allows you to restrict the data that a users enters in a cell and to display help and warning messages. It also allows you to restrict input to values in a drop down list. A typical use case might be to restrict data in a cell to integer values in a certain range, to provide a help message to indicate the required value and to issue a warning if the input data doesn39t meet the stated criteria. In Spreadsheet::WriteExcel we could do that as follows: The above example would look like this in Excel: homepage. eircom. net For more information on data validation see the following Microsoft support article 34Description and examples of data validation in Excel34: support. microsoftkb211485 . The following sections describe how to use the datavalidation() method and its various options. datavalidation(row, col, ) The datavalidation() method is used to construct an Excel data validation. It can be applied to a single cell or a range of cells. You can pass 3 parameters such as (row, col, ) or 5 parameters such as (firstrow, firstcol, lastrow, lastcol, ). You can also use A1 style notation. For example: See also the note about 34Cell notation34 for more information. The last parameter in datavalidation() must be a hash ref containing the parameters that describe the type and style of the data validation. The allowable parameters are: These parameters are explained in the following sections. Most of the parameters are optional, however, you will generally require the three main options validate. criteria and value . The datavalidation method returns: This parameter is passed in a hash ref to datavalidation() . The validate parameter is used to set the type of data that you wish to validate. It is always required and it has no default value. Allowable values are: any is used to specify that the type of data is unrestricted. This is the same as not applying a data validation. It is only provided for completeness and isn39t used very often in the context of Spreadsheet::WriteExcel. integer restricts the cell to integer values. Excel refers to this as 39whole number39. decimal restricts the cell to decimal values. list restricts the cell to a set of user specified values. These can be passed in an array ref or as a cell range (named ranges aren39t currently supported): Excel requires that range references are only to cells on the same worksheet. date restricts the cell to date values. Dates in Excel are expressed as integer values but you can also pass an ISO860 style string as used in writedatetime(). See also 34DATES AND TIME IN EXCEL34 for more information about working with Excel39s dates. time restricts the cell to time values. Times in Excel are expressed as decimal values but you can also pass an ISO860 style string as used in writedatetime(). See also 34DATES AND TIME IN EXCEL34 for more information about working with Excel39s times. length restricts the cell data based on an integer string length. Excel refers to this as 39Text length39. custom restricts the cell based on an external Excel formula that returns a TRUEFALSE value. This parameter is passed in a hash ref to datavalidation() . The criteria parameter is used to set the criteria by which the data in the cell is validated. It is almost always required except for the list and custom validate options. It has no default value. Allowable values are: You can either use Excel39s textual description strings, in the first column above, or the more common operator alternatives. The following are equivalent: The list and custom validate options don39t require a criteria. If you specify one it will be ignored. This parameter is passed in a hash ref to datavalidation() . The value parameter is used to set the limiting value to which the criteria is applied. It is always required and it has no default value. You can also use the synonyms minimum or source to make the validation a little clearer and closer to Excel39s description of the parameter: This parameter is passed in a hash ref to datavalidation() . The maximum parameter is used to set the upper limiting value when the criteria is either 39between39 or 39not between39 : This parameter is passed in a hash ref to datavalidation() . The ignoreblank parameter is used to toggle on and off the 39Ignore blank39 option in the Excel data validation dialog. When the option is on the data validation is not applied to blank data in the cell. It is on by default. This parameter is passed in a hash ref to datavalidation() . The dropdown parameter is used to toggle on and off the 39In-cell dropdown39 option in the Excel data validation dialog. When the option is on a dropdown list will be shown for list validations. It is on by default. This parameter is passed in a hash ref to datavalidation() . The inputtitle parameter is used to set the title of the input message that is displayed when a cell is entered. It has no default value and is only displayed if the input message is displayed. See the inputmessage parameter below. The maximum title length is 32 characters. UTF8 strings are handled automatically in perl 5.8 and later. This parameter is passed in a hash ref to datavalidation() . The inputmessage parameter is used to set the input message that is displayed when a cell is entered. It has no default value. The message can be split over several lines using newlines, 34n34 in double quoted strings. The maximum message length is 255 characters. UTF8 strings are handled automatically in perl 5.8 and later. This parameter is passed in a hash ref to datavalidation() . The showinput parameter is used to toggle on and off the 39Show input message when cell is selected39 option in the Excel data validation dialog. When the option is off an input message is not displayed even if it has been set using inputmessage. It is on by default. This parameter is passed in a hash ref to datavalidation() . The errortitle parameter is used to set the title of the error message that is displayed when the data validation criteria is not met. The default error title is 39Microsoft Excel39. The maximum title length is 32 characters. UTF8 strings are handled automatically in perl 5.8 and later. This parameter is passed in a hash ref to datavalidation() . The errormessage parameter is used to set the error message that is displayed when a cell is entered. The default error message is 34The value you entered is not valid. nA user has restricted values that can be entered into the cell.34. The message can be split over several lines using newlines, 34n34 in double quoted strings. The maximum message length is 255 characters. UTF8 strings are handled automatically in perl 5.8 and later. This parameter is passed in a hash ref to datavalidation() . The errortype parameter is used to specify the type of error dialog that is displayed. There are 3 options: The default is 39stop39 . This parameter is passed in a hash ref to datavalidation() . The showerror parameter is used to toggle on and off the 39Show error alert after invalid data is entered39 option in the Excel data validation dialog. When the option is off an error message is not displayed even if it has been set using errormessage. It is on by default. Example 1. Limiting input to an integer greater than a fixed value. Example 2. Limiting input to an integer greater than a fixed value where the value is referenced from a cell. Example 3. Limiting input to a decimal in a fixed range. Example 4. Limiting input to a value in a dropdown list. Example 5. Limiting input to a value in a dropdown list where the list is specified as a cell range. Example 6. Limiting input to a date in a fixed range. Example 7. Displaying a message when the cell is selected. See also the datavalidate. pl program in the examples directory of the distro. The following relates to worksheet objects such as images, comments and charts. If you specify the height of a row that contains a worksheet object then Spreadsheet::WriteExcel will adjust the height of the object to maintain its default or user specified dimensions. In this way the object won39t appear stretched or compressed in Excel. However, Excel can also adjust the height of a row automatically if it contains cells that have the text wrap property set or contain large fonts. In these cases the height of the row is unknown to Spreadsheet::WriteExcel at execution time and the scaling calculations it performs are incorrect. The effect of this is that the object is stretched with the row when it is displayed in Excel. In order to avoid this issue you should use the setrow() method to explicitly specify the height of any row that may otherwise be changed automatically by Excel. The first thing to note is that there are still some outstanding issues with the implementation of formulas and functions: However, these constraints will be removed in future versions. They are here because of a trade-off between features and time. Also, it is possible to work around issue 1 using the storeformula() and repeatformula() methods as described later in this section. The following is a brief introduction to formulas and functions in Excel and Spreadsheet::WriteExcel. A formula is a string that begins with an equals sign: The formula can contain numbers, strings, boolean values, cell references, cell ranges and functions. Named ranges are not supported. Formulas should be written as they appear in Excel, that is cells and functions must be in uppercase. Cells in Excel are referenced using the A1 notation system where the column is designated by a letter and the row by a number. Columns range from A to IV i. e. 0 to 255, rows range from 1 to 65536. The Spreadsheet::WriteExcel::Utility module that is included in the distro contains helper functions for dealing with A1 notation, for example: The Excel notation in cell references is also supported. This allows you to specify whether a row or column is relative or absolute. This only has an effect if the cell is copied. The following examples show relative and absolute values. Formulas can also refer to cells in other worksheets of the current workbook. For example: The sheet reference and the cell reference are separated by. the exclamation mark symbol. If worksheet names contain spaces, commas or parentheses then Excel requires that the name is enclosed in single quotes as shown in the last two examples above. In order to avoid using a lot of escape characters you can use the quote operator q to protect the quotes. See perlop in the main Perl documentation. Only valid sheet names that have been added using the addworksheet() method can be used in formulas. You cannot reference external workbooks. The following table lists the operators that are available in Excel39s formulas. The majority of the operators are the same as Perl39s, differences are indicated: The range and comma operators can have different symbols in non-English versions of Excel. These will be supported in a later version of Spreadsheet::WriteExcel. European users of Excel take note: The following table lists all of the core functions supported by Excel 5 and Spreadsheet::WriteExcel. Any additional functions that are available through the 34Analysis ToolPak34 or other add-ins are not supported. These functions have all been tested to verify that they work. You can also modify the module to support function names in the following languages: German, French, Spanish, Portuguese, Dutch, Finnish, Italian and Swedish. See the functionlocale. pl program in the examples directory of the distro. For a general introduction to Excel39s formulas and an explanation of the syntax of the function refer to the Excel help files or the following: office. microsoften-usassistanceCH062528031033.aspx . If your formula doesn39t work in Spreadsheet::WriteExcel try the following: If you go through steps 1-6 and you still have a problem, mail me. Writing a large number of formulas with Spreadsheet::WriteExcel can be slow. This is due to the fact that each formula has to be parsed and with the current implementation this is computationally expensive. However, in a lot of cases the formulas that you write will be quite similar, for example: In this example the cell reference changes in iterations from A1 to A1000. The parser treats this variable as a token and arranges it according to predefined rules. However, since the parser is oblivious to the value of the token, it is essentially performing the same calculation 1000 times. This is inefficient. The way to avoid this inefficiency and thereby speed up the writing of formulas is to parse the formula once and then repeatedly substitute similar tokens. A formula can be parsed and stored via the storeformula() worksheet method. You can then use the repeatformula() method to substitute pattern. replace pairs in the stored formula: On an arbitrary test machine this method was 10 times faster than the brute force method shown above. For more information about how Spreadsheet::WriteExcel parses and stores formulas see the Spreadsheet::WriteExcel::Formula man page. It should be noted however that the overall speed of direct formula parsing will be improved in a future version. The following example shows some of the basic features of Spreadsheet::WriteExcel. The csv2xls program that is part of Text::CSVXS. search. cpan. org The following people contributed to the debugging and testing of Spreadsheet::WriteExcel: Alexander Farber, Andre de Bruin, Arthurais, Artur Silveira da Cunha, Bob Rose, Borgar Olsen, Brian Foley, Brian White, Bob Mackay, Cedric Bouvier, Chad Johnson, CPAN testers, Damyan Ivanov, Daniel Berger, Daniel Gardner, Dmitry Kochurov, Eric Frazier, Ernesto Baschny, Felipe Perez Galiana, Gordon Simpson, Hanc Pavel, Harold Bamford, James Holmes, James Wilkinson, Johan Ekenberg, Johann Hanne, Jonathan Scott Duff, J. C. Wren, Kenneth Stacey, Keith Miller, Kyle Krom, Marc Rosenthal, Markus Schmitz, Michael Braig, Michael Buschauer, Mike Blazer, Michael Erickson, Michael W J West, Ning Xie, Paul J. Falbe, Paul Medynski, Peter Dintelmann, Pierre Laplante, Praveen Kotha, Reto Badertscher, Rich Sorden, Shane Ashby, Sharron McKenzie, Shenyu Zheng, Stephan Loescher, Steve Sapovits, Sven Passig, Svetoslav Marinov, Tamas Gulacsi, Troy Daniels, Vahe Sarkissian. The following people contributed patches, examples or Excel information: Andrew Benham, Bill Young, Cedric Bouvier, Charles Wybble, Daniel Rentz, David Robins, Franco Venturi, Guy Albertelli, Ian Penman, John Heitmann, Jon Guy, Kyle R. Burton, Pierre-Jean Vouette, Rubio, Marco Geri, Mark Fowler, Matisse Enzer, Sam Kington, Takanori Kawai, Tom O39Sullivan. Many thanks to Ron McKelvey, Ronzo Consulting for Siemens, who sponsored the development of the formula caching routines. Many thanks to Cassens Transport who sponsored the development of the embedded charts and autofilters. Additional thanks to Takanori Kawai for translating the documentation into Japanese. Gunnar Wolf maintains the Debian distro. Thanks to Damian Conway for the excellent Parse::RecDescent. Thanks to Tim Jenness for File::Temp. Thanks to Michael Meeks and Jody Goldberg for their work on Gnumeric. Because this software is licensed free of charge, there is no warranty for the software, to the extent permitted by applicable law. Except when otherwise stated in writing the copyright holders andor other parties provide the software 34as is34 without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of the software is with you. Should the software prove defective, you assume the cost of all necessary servicing, repair, or correction. In no event unless required by applicable law or agreed to in writing will any copyright holder, or any other party who may modify andor redistribute the software as permitted by the above licence, be liable to you for damages, including any general, special, incidental, or consequential damages arising out of the use or inability to use the software (including but not limited to loss of data or data being rendered inaccurate or losses sustained by you or third parties or a failure of the software to operate with any other software), even if such holder or other party has been advised of the possibility of such damages. John McNamara jmcnamaracpan. orgEnterpriseWire Online Newslette Edition - 010906:10319 09 January, 2006 Published by Software Shelf International, Inc. since 1998 softwareshelf ENTERPRISE NEWS ---- Gartner Says Majority of Industries Will Increase Worldwide IT Spending in 2006: ---- IDCs FutureScan: All the Signs Say It - 5 U. S. IT Growth in 2006: ---- Gartner Says WMF Flaw Could Have Far Reaching Enterprise Effects: ---- BSA-IDC Study Illustrates Economic Gains to UK from Reducing Software Piracy: ---- Kodaks Perez Says Consumers Will Set the Rules for the Future of Digital Imaging: ---- IDC Predicts Increased Number of Digital Pictures Snapped by Affluent PC Users Will Boost Global Photo Printing: NEW amp IMPROVED ---- Microsoft Releases Security Update to Fix Vulnerability in Windows: ---- STAT Guardian VMS - Scanner 6 Update 28 STAT Scanner 5.40 Update 14 (Released January 5, 2006): ---- How Print Manager Plus Opens the Door to Major Savings in Every Organization: ---- New Xerox D igital Copier-Printer Bridges Office and Light Production Markets: ---- HP Extends Frontier of Wireless Computing With Mobile Broadband Notebook PC: ---- Brother Introduces their First Color Multi-Function Center Machine: TOTAL PRINT MANAGEMENT ---- Cant Print - Microsofts new printing solution center: ---- Print Migration Manager for Windows amp Novell: ---- A Full Range of Total Print Management Applications ---- What is HPs Web Jetadmin 8.0 TIPS, TRICKS, AND FAQS ---- Full Online Technical FAQs on Software Shelf Products: ---- Are any tools available to help configure performance monitoring on Windows 2000 and later computers ---- How can I use the ADSI Edit tool to check my domain and forest modes LATEST SECURITY ALERTS ---- Weekly List of Viruses Found: ---- Weekly List of Spyware Found: ---- 01092006 - Denial of service in Apache modssl: SPECIAL OFFERS ---- Buy or Upgrade to Diskeeper 10 and get 50 off CounterSPY: ---- Buy Print Manager Plus and Get Print Console FREE ENTERPRISEW IRE COMMENTS AND SUBSCRIBING File-Rescue Plus Saves the Day If You Lost Photos or Files: Anyone can use File Rescue Plus software free and get back up to two lost files or photos or buy it online and download it to recover more. A user just wrote in how this helped him: I just want to tell you, that you saved my day. I had accidentally deleted all pictures from a full 512 MB SD card. The pictures were from my 2 weeks vacation in Spain and - worst of all - pictures from my grandsons Halloween party. But all 419 pictures were recovered using your File Rescue Plus without problems. So - thank you very much. Download File-Rescue Plus and use it now free. Click here and follow the links for the free version or to buy it online: softwareshelf ---- Gartner Says Majority of Industries Will Increase Worldwide IT Spending in 2006: Following a period of cost cutting and reactive spending, organizations with more than 1 billion in revenue will be cautious when making their IT spending decisions in 2006, according to Gartner Consultings Worldwide IT Benchmark Service. In 2006, the most significant difference in spending will be in the consumer products industry, with IT spending increasing 7.9 percent in 2006, up from flat growth in 2005 (see Table 1). Although IT spending in the electronics and insurance industries is expected to be 7.8 percent and 6.5 percent, respectively, this actually represents a decline from 2005, when IT spending in those industries increased 8.3 percent and 7.7 percent respectively. The professional services industry will see the biggest decline in IT spending in 2006, as spending is expected to decline 1.7 percent, down from 10.1 percent in 2005. Gartners Worldwide IT Benchmark Service and The Worldwide IT Benchmark report includes five volumes of comprehensive IT spending and performance data across 20 industries. This report highlights comprehensive IT spending plans of more than 1,500 companies with more than 1 billion in revenue, combined with historical spending and performance data on more than 10,000 companies worldwide. This allows companies to look at key cost and performance indicators by IT domain to gauge and manage organizational effectiveness and performance optimization. quotWhile we are seeing all organizations moving away from reactive IT spending and toward improved agility and long-term strategic support at a macro scale, there are a number of different trends that are specific to each industry, geography and organization size, quot said Howard Rubin, an associate with Gartner Consulting. quotNo single measure or investment can help an organization support the growth and direction of its business, but organizations that develop ongoing strategic performance management programs that allow them to manage their performance and track their competitive environment will be first in managing business growth, strategy and operations effectively, quot said Mr. Rubin. Table 1 IT Spending Change by Industry for Organizations With More Than 1 Billion in Revenue, 2005 and 2006 Spending Change () - 2004-2005 ---- IDCs FutureScan: All the Signs Say It - 5 U. S. IT Growth in 2006: For the first time in the 18-month history of IDC FutureScan, all the indicators have lined up to depict an expectation of 5 growth in U. S. IT spending this year. Buyer expectations come in with an index value of 1047 (4.7 expected growth), vendor revenue forecasts come in at 1045, and the macroeconomic indicator at 1059. IDCs most recent forecast for U. S. IT spending growth in 2006 is 5. quotIn our world, quot says John Gantz, IDCs Chief Research Officer, quotthis is syzygy that moment when all the planets line up in orbit. It just doesnt happen often. Either the stock market is jumpy or users experience a temporary euphoria when filling out our survey, or Wall Street is shunning high tech. While we dont think the indicators will stay this close in future editions of FutureScan, we are gratified that they bracket our official forecast for IT spending. quot The indicators actually dropped a bit from last month 25 points on the Buyer Intent and 6 points for the Market Indicators. Gantz attributed the fall in macroeconomics to lower expectations for GDP and profit growth in the U. S. for 2006 compared to 2005, and the fall in user expectations to an quotechoquot of the reaction to Katrina. quotUsers were down on the future right after Katrina, and it showed in our surveys, quot said Gantz. quotThen last month they more than doubled their spending outlook when users realized the economy was still perking along. This month they came back to earth. Small business executives were especially realistic. quot FutureScan is a set of market metrics that measure supply and demand in the IT industry based on leading indicators and customer surveys. Values reflect expectations of future growth, with an index value of 1000 indicating zero growth and each additional 10 points representing roughly 1 of expected growth or contraction. For January, Buyer Intent, which reflects market demand for IT products and services over the next 12 months, fell to 1047 from 1072 in December. The Market Indicators number, which combines input from economic and IT industry revenue forecasts, dropped from 1057 to 1051. FutureScan results for January and prior months can be viewed at idcfuturescan ---- Gartner Says WMF Flaw Could Have Far Reaching Enterprise Effects: Exploit code has emerged for a critical vulnerability in a key Microsoft image-rendering process. This critical vulnerability could damage many enterprise systems, not just those that directly use the affected process. This critical vulnerability results from WMF allowing the insertion of custom abort code within a WMF object. Malicious WMF files can be used to gain user privileges when opened by the graphics rendering engine. This does not automatically provide remote privilege-escalation capabilities, but because users typically have administrative privileges, malicious code will likely gain full access to affected systems. Mitigating this vulnerability will be difficult, because it is within a Dynamic Link Library (DLL) file used by an unknown number of applications, including the Windows Picture and Fax Viewer, Lotus Notes and, reportedly, Google Desktops indexer. Even if the default file system association between the Viewer and WMFs is changed, malicious WMF can be given a different extension and still be automatically processed by the vulnerable DLL file. For this reason, every image that is received must be inspected for malicious content. Moreover, compound documents, such as Word files, may contain embedded images, so it may be necessary to extend inspection to all attachments. Block WMFs in e-mail attachments and Web downloads for immediate, partial protection until a patch can be deployed. Ensure that URL filtering products are deployed, activated and regularly updated. Update inline network intrusion prevention systems (IPSs) with the latest signature updates, and follow the IPS providers latest threat-blocking recommendations. Ensure that host protection mechanisms including antivirus and anti-spyware tools and host-based intrusion prevention system (HIPSs) are working properly and reliably updated with the latest signature files, and closely monitor announcements from their vendors. Monitor the Microsoft security portal for updated information and for patch availability. Distribute the patch as soon as logistically possible. Prepare for the possibility that it may become necessary to unregister the vulnerable library from Windows. This would affect any application or image that uses Microsofts image rendering. ---- BSA-IDC Study Illustrates Economic Gains to UK from Reducing Software Piracy: Cutting the software piracy rate of 27 percent in the UK by 10 percentage points could generate nearly 34,000 new jobs, 11bn in economic growth and 2.8bn in tax revenues, according to a study released today by the Business Software Alliance (BSA). These findings come on the back of a decision by the Chancellor of the Exchequer to review the Intellectual Property Framework as part of the Labour Partys manifesto commitment to modernise copyright and other forms of intellectual property so that they are appropriate for the digital age. The independent global research, conducted by International Data Corporation (IDC), also found that reductions in the domestic software piracy rate could jumpstart growth in the information technology (IT) sector. While IDC currently projects the domestic IT sector in the UK will grow 30 percent through 2009, a 10-point reduction in software piracy could increase that growth to 37 percent by 2009. The BSA-commissioned study, available online at bsa. orgidcstudy. is the only study of its kind, assessing the IT sectors economic impact in 70 countries worldwide and the benefits that could accrue to countries that reduce software piracy and promote the protection of intellectual property (IP). With the largest IT sector in the world behind North Americas, the European Union (EU) has a 311 billion IT industry that supports 365,000 companies, employs 2.5 million IT workers and contributes nearly 268 billion a year in tax revenues. A 10-percentage point reduction in the EUs 35 software piracy rate by 2009 could generate 88 billion in additional economic growth, 25 billion in additional tax revenues, and add an additional 155,000 IT jobs. Siobhan Carroll, Regional Manager, Northern Europe, for BSA commented: The software industry is a powerful driver of economic benefits in the UK and across the EU and is becoming increasingly important as we move into a knowledge economy. But the current contribution represents a fraction of the potential economic gains that could be felt in and beyond the software industry. More needs to be done to protect the value of intellectual property in terms of education, legislation and enforcement if the UK wants to realise the potential benefits of the IT industry. Value of UK Software Industry and Benefits of Reducing Piracy IDC finds the local IT sector in the UK currently includes 64,296 IT businesses, employs 534,718 people and contributes 25.9bn in tax revenues. The domestic software industry is valued at 39.8bn. The study finds that a 10-percentage point reduction in the UKs software piracy rate between 2006 and 2009 could result in: Projected growth in the local IT sector increasing from 30 to 37 by 2009 to create a 54.5bn industry An additional 33,874 high paying IT jobs An additional 10.9bn in contributions to the UKs GDP An additional 2.8bn in tax revenues to support needed government services - 2.8bn equates to over 80,000 policemen, 113,000 nurses or the cost of London 2012, almost twice over. quotThe software industry has a key role in the UK economy and acts as a catalyst for productivity and growth, quot comments Janet Anderson MP, Chair of the All Party Parliamentary Group on Intellectual Property Protection. quotPiracy stifles innovation and creativity and clearly has a significant impact on employment, economic growth and public spending. The European Union took a first step when, in April 2004, it adopted the civil Enforcement Directive designed to provide tools and guidelines for Member States to use in protecting and supporting their creative industries through copyright laws. With the deadline for implementation approaching (April 2006), BSA believes the economic benefits outlined in this study can motivate EU governments to use the opportunity to assess their copyright protection systems and legislation, consult with industry, and take steps to strengthen their copyright and intellectual property laws. ---- Kodaks Perez Says Consumers Will Set the Rules for the Future of Digital Imaging: Just as consumer desires drove the evolution of photography during the past 125 years, todays consumers are defining the rules that will drive the future of digital imaging, said Antonio M. Perez, Chairman and Chief Executive Officer, Eastman Kodak Company (NYSE:EK). Its a future where all digital content is automatically identified, organized and instantly accessible anytime, anywhere. In a keynote address today to attendees of the International Consumer Electronics Show in Las Vegas, Nevada, Perez reflected on the current state of the digital imaging industry and asserted that consumers want full ownership of and instant access to all their images and information in order to creatively tell their life stories. Yet, Perez noted, the imaging industry continues to make this a difficult proposition by adding complexity through the proliferation of stand-alone devices and rapidly changing, proprietary technology standards that confuse consumers. quotDigital products and services should not require our customers to be engineers or professional photographers, but rather, should inspire them to be artists and publishers as they capture the moments of their lives, as they see them, with intuitive ease, quot said Perez. Perez stated that, since the days of company founder George Eastman, Kodak has focused on unleashing the power of images through innovation and by making complex technology simple to use. Yet, todays digital capture devices dont enable consumers to take full advantage of the powerful capabilities offered by digital technology. quotTodays digital cameras are dinosaurs, with the same basic architecture and functionality as the box Brownie camera that Kodak introduced more than one hundred years ago, quot said Perez. quotIts a lens, shutter and something to capture the focused light. All the imaging industry has done is to replace silver with silicon. In the next era, we will design digital cameras from the ground up to take full advantage of the creative power that digital technology provides. quot quotConsumers want the power to use their images to connect, create, preserve, entertain and inform, quot said Perez. quotTo that end, Kodak is committed to reinventing the digital imaging experience by pretty much changing everything that defines photography today and bringing ease-of-use to the next level. quot Perez cited the following three Kodak technology platforms that are driving the companys innovation efforts: Kodak Perfect Touch Technology, that will automatically detect and fix, before the user knows it, common photographic flaws such as under-lit pictures, high contrast scenes, back-lit shadows and red-eye in both still and motion images. Kodaks e-finder technology, where all digital content is automatically given a unique identity, enabling users to instantly access any image or information they wish anytime, anywhere. This intelligent content technology would take metadata tagging to the next level by enabling organization of pictures based on GPS location, automatic scene classification (beach, birthday party, etc.), decade mapping, face recognition technology and more. Kodaks e-moment technology, an intelligent system where pictures have the ability to automatically recognize each other. So, without human instruction, a picture will use its metadata to find another picture with related data, and assemble into new groups based on how they relate to one another. For example, imagine being able to access every picture ever taken of your son or daughter at Christmas, whether its part of your collection or those of relatives and friends. quotConsumers own the future of digital imaging -- their pictures, their memories, their lifes data, the stories they can tell about their life, quot said Perez. quotBut its no longer about just pictures or voice, data or text. Its the future where information and imaging become one, and consumers can access the important images of their life anytime, anywhere. quot Achieving this vision, said Perez, will take intellectual property and brand strength, delivered through innovation, partnerships and consumer insights. quotImages are an integral part of our lives. We must enable people to share faster, seamlessly and much simpler than is possible today, quot said Perez. quotWithout true partnerships across our industry this will not happen. We will disappoint consumers and will miss one of the greatest business opportunities of our time. One of our top priorities at Kodak is to build strong partnerships with other industry leaders to make this happen. quot ---- IDC Predicts Increased Number of Digital Pictures Snapped by Affluent PC Users Will Boost Global Photo Printing: Affluent PC users with the disposable income and interest in digital photography will continue to capture more and more images, resulting in an increase in the average number of images printed, IDC reveals in two new Image Bible studies. The number of images captured, shared, and received will grow at a sustained average of 24 from 2004 to 2009, boosting the worldwide growth of total prints volume to an average of 14 over the same forecast period. Inexpensive flash memory cards will be the key driver for both the digital image creation and image printing forecasts, as well as a prevalence of imaging technologies in mobile phones, combined with a decline in print pricing. quotImages captured from camera phones and other devices will not contribute as much as those captured with digital cameras, and camera phones will eventually become more video-centric devices, quot said Christopher Chute, senior analyst with IDCs Digital Imaging Solutions and Services program. quotThe promise of digital photography lies with customized personal printing solutions, as digital camera users will move away from commodity printing toward creative printing solutions. quot Among key findings of IDCs two studies are the following: -- Sharing images captured from any device remains one of the top imaging applications worldwide. -- While digital camera users will still create the most images over the forecast period, camera phone users will take close to 40 of the total images captured worldwide in 2009. -- European users will contribute more to the printing volumes, due to the increased prevalence of digital still cameras in that region. -- Internet-to-retail printing will grow the most (55) from 2005 to 2009. -- Printing revenue share will begin to equalize between the home and retail environments by 2009. While IDCs study Worldwide Digital Image 2005-2009 Forecast: The Image Capture and Share Bible (IDC 34490) quantifies the number of images captured, shared, and received by capture device users (i. e. digital camera, scanner, camera phone, digital camcorder, and film camera) for consumers and businesses by key regions, IDCs Worldwide Digital Image Print 2005-2009 Forecast: The Image Printing Bible (IDC 34488) focuses specifically on images printed by the same users. This second study covers images printed by consumer digital still and film camera users, scanner users, digital camcorder users, and camera phone users. ---- Microsoft Releases Security Update to Fix Vulnerability in Windows: On Tuesday, Jan. 3, 2006, Microsoft announced that it would release a security update to help protect customers from exploitations of a vulnerability in the Windows Meta File (WMF) area of code in the Windows operating system, in response to malicious and criminal attacks on computer users that were discovered last week. Microsoft then released the update Jan. 5, 2006, earlier than planned. Microsoft originally planned to release the update on Tuesday, Jan. 10, 2006, as part of its regular monthly release of security bulletins, after testing for quality and application compatibility was complete. However, testing has been completed earlier than anticipated and the update is here. In addition, Microsoft is releasing the update early in response to strong customer sentiment that the release should be made available as soon as possible. Microsofts monitoring of attack data continues to indicate that the attacks are limited and are being mitigated both by Microsofts efforts to shut down malicious Web sites and by up-to-date signatures from anti-virus companies. Consumer customers who use Automatic Updates will receive the update automatically and do not need to take any additional actions. Consumers can also manually download and deploy the update by visiting Microsoft Update or Windows Update. Consumers can also get more information at Microsofts Security At Home Web site. Enterprise customers who are using Windows Server Update Services will receive the update automatically. In addition, the update is supported by Microsoft Baseline Security Analyzer 2.0, Systems Management Server and Software Update Services. Enterprise customers can also manually download the update from the Download Center. Microsoft will also be releasing additional security updates on Tuesday, Jan. 10, 2006, as part of its regularly scheduled release of security updates. In addition to deploying MS06-001, users should take care not to visit unfamiliar or untrusted Web sites that could potentially host the malicious code. Consumer customers should follow the guidance on safe browsing. Enterprise customers should review Microsofts Security Advisory 912840 for up-to-date guidance on how to prevent attacks through exploitation of the WMF vulnerability. The intentional use of exploit code, in any form, to cause damage to computer users is a criminal offense. Accordingly, Microsoft continues to assist law enforcement with its investigation of the attacks in this case. Customers who believe they have been attacked should contact their local FBI office or post their complaint on the Internet Fraud Complaint Center Web site. Customers outside the U. S. should contact the national law enforcement agency in their country. Customers who believe they may have been maliciously attacked by exploitation of the WMF issue can contact Microsofts Product Support Services for free assistance by calling the PC Safety line (1-866-PCSAFETY) international customers can use any method detailed at support. microsoftsecurity Microsoft continues to encourage customers to follow its Protect Your PC guidance by enabling a firewall, getting software updates and installing anti-virus software. ---- STAT Guardian VMS - Scanner 6 Update 28 STAT Scanner 5.40 Update 14 (Released January 5, 2006): For STAT Guardian VMS - Scanner 6 users: For users that have already migrated to STAT Scanner 6, updating is simple and fast. The update file can be downloaded from the STAT Premier site manually or by selecting Tools then Automatic Updates in the STAT Guardian VMS GUI. When the Automatic Vulnerability Configuration Window appears, fill out your serial number and premier account information. Click on Update Now or schedule when you would like the product to check for updates. If you have already enabled automatic updates, the product will update itself at the time you have configured. If your STAT Guardian VMS installation machine does not have internet connectivity, you can download the update from the STAT Premier site (on a machine that does have internet connectivity). To load this update into your installation, simply go to Tools, select Automatic Updates. When the Automatic Vulnerability Configuration Window appears, click Load File and browse to the location of your download. Note: You must download the updates in sequential order. If you have not already upgraded to 6.4, this update requires that you download and upgrade your installation to version 6.4. The installation can be downloaded from the STAT Premier Customer website. NOTE TO USERS WHO HAVE UPGRADED TO 6.4: We have found in testing the vulnerability update that when installing the update file on Command Center, the port that currently in use(205 or 207) will update correctly. The alternate port will not update the sets correctly. A restart of the alternate ports engine service will correct this problem. For STAT Scanner 5 users: STAT Scanner, Version 5.40, update 14 also includes these updates. There are 26 new vulnerability tests in this release including 2 critical vulnerability updates, W2683 for the Symantec RAR decompression vulnerability and W2685 which tests for the Graphics Rendering Engine patch released today by Microsoft as MS06-01. This patch addresses the critical Windows Media File (WMF) vulnerability. Vulnerability updates for this release include: OStype ID Name H141 WBEM susceptible to stoppage HP-UX H142 Software Distributor permits unauthorized remote access HP-UX 11 L989 LmSensors pwnconfig symlink - MDV, RHE L991 Gnumeric PCRE compile. c error - MDV L992 Python PCRE compile. c error - MDV L993 SMB4k tmp file symlink to FILE - MDV L994 Mplayer adpcm. c strf chunk error - MDV L995 Kdebase kcheckpass lock handling - MDV L996 Apache2 SSLVerifyClient handling - MDV L997 Hylafax - faxcron and socket vulnerabilities - MDV L998 OpenSSL - Protocol Rollback - MDK L1024 GTK2 GIMP Toolkit XPM image linking - FC L1026 Fedora Kernel - Multiple Vulnerabilities - FC L1027 Mozilla-firefox run-mozilla. sh symlink - MDV L1028 Thunderbird Browser multiple vulnerabilities - MDV L1029 Texinfo sortoffline predictable file name error - MDV L1030 Webmin remote PAM conversion spoofing - MDV L1031 Hylafax temp file symlink vulnerability - MDV L1032 OpenSSL Protocol version rollback attack - MDV L1033 Xine-L ib fprintf CDDB vulnerability - MDV L1034 Squid NTLM request handling - MDV W2681 Access 2002 Issues W2682 IE window() Arbitrary Code Execution Vulnerability W2683 Symantec RAR Decompression Library Vulnerability W2684 iTunes Detected W2685 Windows Metafile Vulnerability Updated Checks Vendor Superseded patches or signatures W1142,W1986,W1999,W2067 - Anti-Virus Signatures S360 Sun Management Console enables TRACE HTTP by default - Solaris 8 - 10 H14 Ftpd - Remote Unauthorized Data Access - HP-UX 10,11 H17 Rpc. yppasswdd - HP-UX 10,11 H19 Rpc. mountd - Information Leak - HP-UX 11 H24 DCE - Input Handling Failures - HP-UX 11.11 H37 XDR Library xdrmemgetbutes() - HP-UX 10,11 H45 DCE Vulnerability - HP-UX 11 H52 Ypxfrd getdbm argument validation - HP-UX 10,11 H60 Rpc. ypupdated Grants Unauthorized Access - HP-UX 11 H65 XDR Library Vulnerabilities - HP-UX 10,11 H74 RPC IO Vulnerability HP-UX 11 H87 FTP Pipe and WU-FTP off-by-one realpath() Vulnerabilities - HP-UX 11 H123 IP path MTU discovery strategy vulnerabilities HP-UX 11 H138 Xterm permits privilege elevation - HP-UX 11 Other references include vendor knowledge base articles, security advisories, CVE, CIAC, CERT, bugtraq, ntbugtraq, SANS and the National Vulnerability Database. This product update can be downloaded from the STAT Premier Customer website: premier. harrisstat ---- How Print Manager Plus Opens the Door to Major Savings in Every Organization: Information Week wrote recently that Minor headaches like paper jams and toner replacements are what usually come to mind when printers are mentioned. As long as you can click quotprintquot and your documents appear there is no need to think about printers, right Wrong. Printing is a large part of many IT departments operation, and with todays tight budgets, IT managers should take the time to assess their printing needs. Their story concerns how the Pennsylvania Attorney Generals Office with 22 branches used Oki print accounting software to track the printing and cut the cost of printing by 21 percent. The story went on to show how the savings turned out to be much greater than anyone in the AG office expected. Okis software only works with certain Oki printers. For companies or schools that use mixed brands of printers, (for example surveys show 98 percent schools use at least some HP printers, as well as many other brands to meet special needs), Print Manager Plus software is the only print accounting software on the market that supports ALL brands of printers and is Microsoft verified and certified. It reduces the cost of printing up to 75. Recognition of the importance of auditing and controlling printing, with full knowledge of who is doing what, how much it costs and being able to put in control on printing right down to a user level, is becoming one of the most needed and wanted functions for any organization. IT budgets are very much affected by printing waste and many dont see it as they cant track their printing. The easy way to find out exactly how costly the problem and how much you can gain by solving it is to use Print Manager Plus for a free trial period. Simply install it on any Windows print server and use it for 30 days free and find out. It is applicable to every industry and supporting every printer brand printing from any operating system. Print Manager Plus is the only product that Microsoft has included a download for this free trial in its own school product recently released in EMEA, Microsoft Learning Network Manager. It was included because it saves so much money for the school budgets. It saves huge amounts for corporations, banks, real estate offices, architects, engineering firms, small office and home offices, small business and large enterprises. Try it for your organization now, the trial free. easy to use and any IT administrator can operate it with no training as it looks and feels and operates just like an extension of Windows. You can download the free, fully functional trial version from softwareshelf ---- New Xerox Digital Copier-Printer Bridges Office and Light Production Markets: In its first product launch of the new year, Xerox Corporation (NYSE: XRX) today announced the Xerox 4590 digital copier-printer, which provides unmatched scanning speed and image quality for large networked offices and light production environments such as in-house and quick-print shops. The Xerox 4590 leads the market with image quality of 2400 x 2400 dots per inch resolution and scanning speeds of up to 100 double-sided pages per minute. It prints and copies up to 90 pages-per-minute. Workers can quickly and easily produce large, complex documents including brochures and booklets as well as everyday business documents like reports and training materials. The system is engineered to produce from 75,000 to 175,000 pages per month. Based on the same design as the Xerox 4110 digital copier-printer, the Xerox 4590 reflects Xeroxs use of common technology platforms that can be extended across multiple products. Installs of Xerox production monochrome systems grew 21 percent in the third quarter of 2005, driven largely by the success of the Xerox 4110 system. In addition, data from IDC, a leading market research firm, indicates that the Xerox 4110 increased the companys U. S. market share within the 91 page-per-minute and faster monochrome copier based-MFP market to 33 percent in the third quarter of 2005, up 11 percentage points from the same period in 2004. quotThe productivity features and crisp image quality make the Xerox 4590 a compelling offering for customers, quot said Keith Kmetz, director, Hardcopy Peripherals Solutions and Services programs at IDC. quotSimilar to the 4110s strong position in the light production market, this new system has the potential to increase Xeroxs share in the high-volume office segment. quot quotThe Xerox 4590 is built on proven technology that will continue to drive growth for Xerox, quot said Tim Williams, president, Xerox Office Group. quotWe are kicking off 2006 with a system that delivers a superior customer experience and beats the competition in image quality, speed and finishing. quot The Xerox 4590 is designed to help customers spend less time at the system waiting for jobs to be completed and more time getting work done. These benefits include: Productivity. While competitive products slow down when scanning double-sided documents, the Xerox 4590 copier-printer maintains scanning speeds up to 100 ppm for both single and double-sided documents. With this new system and the Xerox 4110 digital copier-printer introduced last year, Xerox delivers the fastest scanning speeds in the office printing and light production markets. The Xerox 4590 has a 250-sheet automatic document handler that holds 150 sheets more than competing devices, and it has up to eight paper trays for up to 8,225 sheets of paper. With this superior paper capacity, the system can handle large jobs easily with minimal intervention. Users can also ensure jobs are completed quickly and without interruptions by replacing toner cartridges while a job is running. Professionally finished documents. This system provides 2400 x 2400 dots per inch resolution and 256 gray levels, delivering sharp images, fine lines and text. Xeroxs patented EA toner, which requires less energy to manufacture and generates less waste, ensures images remain consistent during long runs. Customers also can create complex technical documents or creative collaterals, such as menus, catalogs or user manuals. The Xerox 4590 supports an unsurpassed range of media, up to 13quot x 19.2quot and 140 lb.253 gsm. It includes a post-process interposer - which automatically inserts color pages or covers into documents - and finishing options such as 100-sheet stapling, hole punching, and tri-folding. Easier workflow. The Xerox 4590 makes it easy to convert hardcopy documents to digital files. It can scan up to 10 jobs while simultaneously printing, preventing long waits in busy print shops and offices. People can easily capture, store and share documents by scanning them on the Xerox 4590 and sending them directly to e-mail, a network file-server or to the systems hard drive for printing or copying at a later time. The systems 500 electronic mailboxes also help people save time since documents can be scanned once, stored on the system and reprinted frequently by pressing a button. The Xerox 4590 includes Xerox CentreWare Web software, which helps IT professionals proactively and easily manage print devices across an entire enterprise, giving IT the information and control needed to anticipate issues and reduce downtime. The system also comes in a copy-only version. List price for the Xerox 4590 digital copier starts at 52,800. The Xerox 4590 copier-printer starts at 59,100. Order-taking starts today in North America through the Xerox direct sales force and authorized sales agents. ---- HP Extends Frontier of Wireless Computing With Mobile Broadband Notebook PC: HP (NYSE:HPQ) (Nasdaq:HPQ) today introduced a mobile broadband notebook that allows users to stay connected at broadband speeds to corporate networks, email and the Internet without being tied to a wireless hotspot. The HP Compaq nc6140 Notebook PC operates on Verizon Wireless Evolution Data Optimized (EV-DO) network, which allows customers to connect at broadband speeds to corporate networks, email and the Internet, even while traveling. The notebook features integrated dual-antennas and pre-installed software to help establish a convenient and reliable wireless connection via Verizon Wireless BroadbandAccess network. HP and Verizon Wireless will jointly market the new business notebook. quotMobile professionals using HPs mobile broadband notebook no longer have to limit themselves to airports, hotel lobbies or other public Wi-Fi hotspots, quot said Ted Clark, senior vice president and general manager, Mobile Computing, HP. quotOur customers can now enjoy extremely fast data connectivity speeds, enabling them to communicate better and be more productive wherever they happen to be. quot HP and Verizon Wireless collaborated on the development of the nc6140 notebook to take advantage of the Verizon Wireless EV-DO network that powers its BroadbandAccess service and offers download speeds of 400 to 700 kbps. The notebook also incorporates the QUALCOMM MSM6500(TM) CDMA2000(R) 1xEV-DO high-speed wireless chipset. quotTogether, HP and Verizon Wireless provide mobile professionals a robust wireless broadband experience without having to seek out and find public Wi-Fi hotspots in order to connect with email or the Internet, quot said John Stratton, chief marketing officer, Verizon Wireless. quotThe Verizon Wireless BroadbandAccess service and our EV-DO network that supports it provide the advantages of convenience and flexibility. quot In addition to the convenience of its integrated mobile broadband technology complemented by wireless LAN and Bluetooth(TM) wireless technology, the thin and light HP nc6140 incorporates enhanced security features that help defend a users data, applications and network. For example, HP ProtectTools Security Manager allows users to easily manage security solutions using flexible, customizable security layers. The notebook also offers HP Drivelock hard drive protection to protect against unauthorized access to the notebook. As with other HP business notebooks, the nc6140 is designed to meet the demands of the mobile lifestyle. HP innovations such as the HP Mobile Data Protection System to protect the hard drive from shock, scratch-resistant in-mold lamination and the HP Panel Protection System help protect the nc6140 from the bumps of life on the road. Starting at a weight of only 6 pounds, the nc6140 has a large, 15-inch, wide viewing angle display, a full-sized keyboard and scroll zone within the recessed touchpad -- all of which allow users to feel like they are working at their desks. Expansion capabilities include an optional port replicator that simplifies system management and an optional HP Travel Battery that doubles battery life without compromising functionality. The HP Compaq nc6140 Notebook PC is available immediately with a starting price of 1,399. Customers with any monthly Verizon Wireless voice plan can receive unlimited BroadbandAccess for an additional 59.99 monthly access. For non-voice customers, BroadbandAccess is available for 79.99 monthly access. ---- Brother Introduces their First Color Multi-Function Center Machine: Brother International Corporation, a leading manufacturer of multi-function products, today introduces the MFC-820cw (249.99). This Multi-Function Center product features the companys first model with a 2.5quot color LCD and comes with a built-in 802.11bg wireless interface. Its 6-in-1 versatility includes color inkjet printer, copier, scanner, PhotoCapture Center feature, fax and PC Fax functions. It begins shipping in February 2006. Demand for wireless peripherals like the Brother MFC-820cw is very much on the rise and according the recent market analysis by International Data Corporation (IDC), ongoing growth in the use of these products in home and small office environments is a key contributing factor. The MFC-820cw is built around the same attractive, space-saving design as previous models in Brothers stable of ultra-low profile inkjet MFCs. Among its many feature highlights are: -- Photo quality color printingcopyingscanning -- Stand-alone color faxing -- A Flip-up 2.5quot color LCD display for previewing images, easy menu access, and more -- Built-in wireless (802.11bg) and wired Ethernet network interfaces -- Up to 6000 x 1200 dpi(2) color printing -- Up to Built-in 10-page automatic document feeder quotWe see a growth in the demand for wireless peripherals both for the home and small businesses. In fact the trend toward low-cost network connectivity will continue to spur on growth, quot said Don Cummins, Vice President of Marketing at Brother. quotThe onus is now on vendors to deliver innovative and functional solutions that pinpoint user needs and desired applications. quot That is exactly what Brother has done with the introduction of its MFC-820cw - a product that zeros in on the need to simplify wireless networking solutions for homes and small office users. It also acknowledges the ongoing popularity of digital photography and offers enhanced user features for those applications as well. NEW FLIP-UP 2.5quot COLOR LCD GIVES USERS A HEADS-UP The MFC-820cw offers many of the features available with the current line-up of low-profile color inkjet MFCs(3), but adds a great deal more versatility and ease of use with its new color LCD display. A number of important advantages exist as a result of the color LCD, including: -- Ability to preview photos and then select specific photos to print -- Allows user to print varying quantities of multiple selected photos, in a series or non-sequentially (e. g. the user may want to print 2 copies of photo 1, 4 copies of photo 6 and 1 copy of photo 18) -- Provides easy to use menus and includes help files with color line drawings that acquaint the user with various features (i. e. understanding 2-in-1 print features, resolving errors like paper jams, replacing ink cartridges, etc.) -- Includes a feature for previewing received faxes Compatible with Windows and Mac environments, the MFC-820cw lets users on the network print wirelessly from any computer on that network. It also gives customers the convenient option of bypassing the router and printing directly from a wireless-ready (802.11bg) notebook. Both of these connectivity options also support the following additional network features: -- Scan a document to any computer on the network -- Fax documents from computers on your network using the Brother software -- Receive faxes to any Windows-based computer on the network -- Access images that are stored on media cards inserted into the PhotoCapture Center of the MFC-820cw When using the built-in 802.11bg Wireless connectivity the MFC-820cw has the SecureEasySetup feature, which allows you to easily install the MFC on your wireless network. This feature automatically configures the wireless network and security settings of the MFC-820cw with the push of a button enabling simple and secure communications with a wireless router supporting SecureEasySetup feature. ---- Cant Print - Microsofts new printing solution center: Use Microsofts new printing solution center to solve common printing problems. This site includes a wealth of information - from basic printer set-up and driver installation to solutions for specific error messages, establishing networks, and detailed how-to articles for Microsoft programs and operating systems. ---- Print Migration Manager for Windows amp Novell: Print Migration Manager for Windows 9598 and Windows NT2000XP clients allows you to automatically re-map a users current set of network printers to different network printer queues. Users will also have their print preferences (per-user) migrated to their new printers. Print Migration Manager will work on Novell Netware or Microsoft Windows NT20002003 networks and can move printer ports to either Microsoft NT20002003 or Novell NetWare servers. ---- A Full Range of Print Applications Software Shelf is a world leader in enterprise print utility software. Print Console 3.0 Print Console is a remote network printing console for NT2000XP. This console allows an administrator to remotely see all printers in a domain(s) from his or her workstation. Manipulate Print Jobs and Printers as if you were at that server. softwareshelffilesproducts. asptypecatampID22 Print Manager Plus 6.0 Print Manager Plus allows centralized quota, tracking and auditing of all printing activity. The product includes version for Academic, Corporate, and professional services companies. softwareshelfHTMLproductspmpproductsSplitter. asp Print Queue Manager Print Queue Manager allows full printing management for a Windows NT20002003 network. Features include Print Redirection, Printing Disaster Recovery, Load Balancing, Printer Status, Printer Grouping and Print Broadcasting. softwareshelffilesproducts. asptypecatampID24 Print Migration Manager Print Migration Manager for Windows 9598 and Windows NT2000XP clients allows you to automatically re-map a users current set of network printers to different network printer queues. Users will also have their print preferences (per-user) migrated to their new printers. softwareshelffilesproducts. asptypecatampID113 ---- What is HPs Web Jetadmin 8.0 HPs Web Jetadmin 8.0 platform is a web-based print management solution that helps optimize device utilization, control color costs, and streamline supplies management by enabling remote configuration, monitoring, and troubleshooting of network printers and associated print infrastructure components. The product has many features and works with all HP and non-HP printers connected through HP Jetdirect print servers, and standard MIB-compliant third party network connected printers. Protocols supported are TCPIP, IPXSPX, and OS: Microsoft Windows Server 2003 Microsoft Windows 2000 Professional, Server and Advanced Server Microsoft Windows XP Professional with service pack 2 Fedora Core 4 SuSE Linux 9.3 Professional Shared print queue creation support Microsoft Windows 2000 Professional, Server and Advanced Server Microsoft Windows XP Professional HP-UX 11.0 Fedora Core 4 Solaris 2.6, 7 and 8 SuSE Linux 9.3 Professional Novell NetWare 5.1 and 6.0 (IPX only) using Netware Client 4.91 using HP Web Jetadmin only on a Windows 2000 or Windows XP system The product is massive and has many features, and some add-on utilities that cannot be found anywhere. Some of the add-ons include: Advanced Auto Discovery allows administrator to schedule discoveries, and discover unconfigured devices. Proactive Management configurable alerts, instant e-mail notification, supplies alerts, services alerts, and consumable gauges. Third Party Device Certification Program allows for universal printer support using one print management software tool. Integrated Firmware Download Manager enables batch configuration upgrades to HP Jetdirect print servers and selected printers. Task-oriented User Interface tree structure navigation, configurable views, default view setting, and ability to create custom profiles. Groups and Maps easily organize peripherals into logical groups with virtual office maps for ease of navigation. Integrated Web Server runs HP Web Jetadmin without a dedicated Web server (HP Web Jetadmin runs on Microsoft Windows NT 4.0, Microsoft Windows 2000 Professional, or Linux operating systems, storing information in one central database. Enterprise Integration easily integrates with enterprise management solutions such as OpenView NNM, and Computer Associates UniCenter TNG using HP TopTools bridges. Intelligent Update an easy way to add components including new languages, device plug-ins, and application plug-ins without reinstalling HP Web Jetadmin. Enhanced Asset Tracking-provides the ability to schedule exportable fields such as printer capabilities and page count information. Overall the product has really matured in the new 8.0 version. Check out this white paper that Discusses the various tools and techniques available in HP Web Jetadmin that Helpdesk personnel may find valuable to significantly reduce the time spent troubleshooting printers. ---- Full Online Technical FAQs on Software Shelf Products: Software Shelf support programs provide a wide variety of free and fee-based technical support services to individual and corporate customers. We provide customers with support via electronic and automated services. Ninety day free telephone support is available on selected products. Many products also contain quotLive Updatequot that gives instant access to on-line updates, enhancements, support tips and other useful information. ---- Are any tools available to help configure performance monitoring on Windows 2000 and later computers Microsoft has released the Performance Monitor Wizard, which you can download at microsoftdownloadsdetails. aspxFamilyID31FCCD98-C3A1-4644-9622-FAA046D69214ampdisplaylangen. After you download the. zip file, extract the two files to a folder of your choice. One of the files is the license agreement for the utility, and the other is the perfwiz. exe image, which is the actual tool. The Performance Monitor Wizard isnt as sophisticated as the Windows Server 2003 Server Performance Advisor, which I discuss in the FAQ quotHow can I use the Windows Server 2003 Performance Advisorquot (windowsitproarticlesindex. cfm articleid45281 ), but you can use the tool on a wider range of OSs. The Performance Monitor Wizard is a dialog-based tool that asks questions about the computing environment so that it can enable the correct Performance Monitor counters. The tool creates log files to help you troubleshoot general Windows and Microsoft Exchange Server performance problems. To use the tool, perform these steps: 1. Start the Performance Monitor Wizard (perfwiz. exe) and click Next at the Welcome screen. 2. Enter the name of the computer on which you want to collect the logs. The default computer is the local machine. Click Next. 3. Select Create New Log, or if you previously defined a log or have a log running, select that log from the list. The wizard gives you the option to start or stop the already defined log, as the figure (windowsitproarticlesimagesperfwiz1.gif ) shows. Click Next. 4. The wizard asks for the type of profile to use--Standard Perfmon, High CPU Usage, or Advanced Configuration. Select a profile and click Next. 5. Enter the name of the computer you want to monitor, and if that computer is a system running Exchange Server or Windows 2000 Server Terminal Services (which means the wizard will collect additional information), select the associated check box. Click Next. 6. Enter a name for the new log collection. Then configure the maximum size for the logs and a location to store the logs (by default C: perflogs). Click Next. 7. Select how often the problem occurs, (e. g. If you enter quotevery 6 hours, quot the wizard will automatically modify how often it takes a sample.) Click Next. 8. Click Start to begin logging and click Next. 9. Click Finish. When you start a log collection, it runs in the background under the regular Performance Monitor services (Performance Logs and Alerts). The wizard doesnt display the logs it simply creates the log files. To display the logs, you need to start Performance Monitor and select as the source the binary file thats created by the logging process, as the following steps illustrate: 1. Start the Microsoft Management Console (MMC) Performance Monitor snap-in (Start, Programs, Administrative Tools, Performance). 2. Right-click the graph section of the snap-in and select Properties. 3. Select the Source tab. 4. Select Log files and click Add. Navigate to the C:perflogs folder (the default location for the log files), select the log file, and click OK, as the figure (windowsitproarticlesimages permmonsourceset. gif ) shows. 5. Click OK to close the System Monitor Properties dialog box. ---- How can I use the ADSI Edit tool to check my domain and forest modes Domain and forest modes are defined by a combination of three values: For the domain mode, you need to check the msDS-Behavior-Version and nTMixedDomain attributes of the Domain container for the forest mode, you check the msDS-Behavior-Version attribute of the Partitions container, which youll find in the Configuration object of the Forest root. To view these attributes perform these steps: 1. Start ADSI Edit (Start, Run, adsiedit. msc). This tool is part of the Windows 2000 and later Support Tools so make sure you have these tools installed. 2. Expand the Domain branch. Right-click the domain name and select Properties from the context menu. (If the domain you want isnt displayed, select quotConnect to. quot from the root context menu and enter the domain information, including credentials for a connection.) 3. Click the Attribute Editor tab and scroll down to view the msDS-Behavior-Version and nTMixedDom values. These are the domain-specific values. 4. Expand the Configuration object at the root of adsiedit and expand the Configuration container specific to your forest. Right-click the CNPartitions container and select Properties. 5. Click the Attribute Editor tab to view the msDS-Behavior-Version value, as the figure (windowsitproarticlesimages adsieditformode. gif ) shows. Clique em OK. 6. Close ADSI Edit. Software Shelf receives its Antivirus and SpyWare updates from Panda Software. ---- Weekly List of Viruses Found: The list of Latest threats contains the malicious code discovered by PandaLabs in the last 30 days. 1 MS06-001 Vulnerability 01092006 2 Gaobot. LTL Worm 01032006 3 WMFMaker Security Risk 01022006 4 Mytob. MF Worm 12302005 5 WMF Trojan 12292005 6 Metafile Trojan 12282005 7 AKStealer. A Trojan 12272005 8 Nabload. U Trojan 12242005 9 Banker. BSX Trojan 12232005 10 Mitglieder. GO Trojan 12202005 ---- Weekly List of Spyware Found: The list of spyware contains the spyware and adware most frequently detected in real time by the network of sensors that make up Pandas Global Virus Observatory. 1 Cydoor Spyware 091003 2 ISTbar Adware 102003 3 XXXToolbar Adware 080404 4 New. net Spyware 091103 5 BetterInet Spyware 010304 6 Dyfuca Adware 100603 7 YourSiteBar Adware 111504 8 Petroline Spyware 010405 9 Altnet Spyware 081004 10 BargainBuddy Spyware 091103 ---- 01092006 - Denial of service in Apache modssl: Security Tracker has reported a vulnerability in Apache modssl, which could allow a remote attacker to crash the server. The problem occurs when an SSL virtual host is configured with access control and custom 400 error document. An attacker could send a specially-crafted request to trigger a null pointer deference, which could cause the server to crash when using the multi-processing module. Although Apache has not yet published a solution for this problem, some Linux distributions, like Red Hat Enterprise Linux, have released a fix for this problem. ---- Buy or Upgrade to Diskeeper 10 and get 50 off CounterSPY: Get 50 Off CounterSpy Home Edition when you upgrade to or purchase the full version of New Diskeeper 10 CounterSpy - You want to get rid of spyware on your personal computer. Why choose CounterSpy The free anti-spyware tools detect and delete spyware. CounterSpy detects, deletes and protects NEW Diskeeper 10 is the most cost-effective way to keep your PC running like it did when it was new, without the need for slow, time-consuming manual defragmentation. Diskeeper 10 goes to work as soon as you install it, running in the background to restore and maintain your PCs performance. ---- Buy Print Manager Plus and Get Print Console FREE Purchase Print Manager Plus and get a license of Print Console at no charge. Print Console allows centralized control of all printing activity on an enterprise of Windows NT20002003 servers and Windows NT2000XP workstations. Print Console allows manipulation of any print jobs spooling on a windows print server. Print Console eliminates the need for administrators to walk to a remote server to administer their printers or solve common printer problems. You can see most common problems right on your screen such as quottoner lowquot, or quotout of paperquot errors. If you have any comments about EnterpriseWire or need support please email us at: infosoftwareshelf Editor: William Feeley Contributing Editor: Daniel Williams EnterpriseWire is distributed FREE each week to subscribers. It contains the latest news from Software Shelf. Learn about the availability of new products, upgradesupdates, betas, special offers, contests, and more. Software Shelf strives to provide each customer with high quality sales assistance, customer service and technical support. In addition to our own line of printer management software, we distribute other quotbest of breedquot Windows NT2000XP2003 products. Easy to use and powerful Software Shelf utilities and applications keep one PC or a network of thousands running optimally, securely and more cost-effectively than other solutions. Software can be ordered worldwide for shipment or by ESD (Electronic Software Delivery) from our secure online store. Software Shelf International Inc. 601 Cleveland Street, Suite 710 Clearwater, FL 33755 United States Phone: 800-962-2290, 727-445-1920 Fax: 727-445-9223 Website: softwareshelf Email infosoftwareshelf Software Shelf International, Inc. Vitality House 2 - 3 Imberhorne Way East Grinstead West Sussex, RH19 1RL United Kingdom Phone: 44 1342 310950 Fax: 44 1342 302405 Website: softwareshelf. co. uk Email: infosoftwareshelf. co. uk (c) 1996 - 2006 Software Shelf International, Inc. All Rights Reserved. SOFTWARE SHELF, SOFTWARESHELF, SOFTWARESHELFDISTRIBUTION, ENTERPRISEWIRE, PRINT CONSOLE, PRINT MANAGER PLUS, PRINT QUEUE MANAGER, PRINT QUEUE MANAGER PLUS AND FILE-RESCUE PLUS are trademarks owned by Software Shelf International, Inc. Information in this document is subject to change without notice. Other product names and company names referred to herein are trademarks or registered trademarks of their respective companies or mark holders. If you would like to contact our legal department call 727-445-1920 or email: legaldeptsoftwareshelf Home Solutions Products Support News Company Site Map Contact Privacy Security Legal Software Shelf strives to provide each customer with high quality sales assistance, customer service and technical support. In addition to our own line of printer management software, we distribute other quotbest of breedquot Windows Server amp Workstation products. Copyright copy 1996-2017 Software Shelf International, Inc. All Rights Reserved. West Coast

Comments