You're welcome James. All the best with your project and, if you need any
further help, just drop an message onto the list.
Yours
Mark B
James Geroge wrote:
>
> Hello Mark,
> Thanks for your suggestions.
> I tried to raise a null pointer exception with WorkbookFactory Class, but
> did not work so done a try catch and able to get a handler to the
> requirement i had.
>
> and Thanks for the other suggestions too.
>
> The code below...
> try
> {
> if (WorkbookFactory.create(input)!=null)
> {
> log("GOOD FILE");
> }
> else
> {
> log("Invalid input file Or Not a valid Excel file");
> }
> }
> catch (Exception e1) {
> //e1.printStackTrace();
> log("Invalid input file Or Not a valid Excel file");
> return; // no need to process if it is not an excel
> }
>
> Thanks,
> James George
>
>
> MSB wrote:
>>
>> Hello James,
>>
>> The most obvious answer is the WorkbookFactory class -
>> http://poi.apache.org/apidocs/org/apache/poi/ss/usermodel/WorkbookFactory.html
>> - if you have a valid Excel workbook then it will return an instance of
>> either the XSSF or HSSFWorkbook class. That does impose some overhead of
>> course as the Excel file will effectively be opened which could take a
>> few moments and tie up some memory.
>>
>> The other option would be to look at the file header, the first few bytes
>> of the file. There is a website - filext.com - that includes provides
>> this sort of information. For example, here is the information for the
>> .xls file format http://filext.com/file-extension/XLS and this for the
>> .xlsx http://filext.com/file-extension/xlsx. In essence, you would open a
>> stream onto the file, recover the first few bytes and see if they match
>> either pattern; but I do not know whether this is an entirely fail safe
>> option.
>>
>> Yours
>>
>> Mark B
>>
>> PS. You have posted this onto the the dev list when if really ought to be
>> posted onto the user list. The dev list is where you would post if you
>> were experiencing problems with the API - for example a particular file
>> provoking exceptions - or if you wanted to ask for an enhancement.
>> Furthermore, fewer people view the dev list and you are reducing your
>> chances of receiving a response to your question.
>>
>>
>>
>> James Geroge wrote:
>>>
>>> Hi Friends,
>>> Is there a way to know the file is an excel file without manipulating
>>> the file extension, as the users can send the excel files in format like
>>> below.
>>> Test
>>> Test.xls
>>> Test.xlsx
>>> Test.xlsxxlsx(by renaming the file using windows explorer)
>>> Test.xlsabcd (by renaming
>>>
>>> Thanks,
>>> James George.
>>>
>>
>>
>
>
--
View this message in context:
http://old.nabble.com/How-to-check-for-valid-excel-files-using-POI-without-checking-the-file-extension-tp28287650p28287704.html
Sent from the POI - Dev mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]