如何判断一个文件是否为EXCEL? 如题,别说判断扩展名啊。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 试着用Excel.Application.Workbook.Add()打开,异常就是不合法的。 Visual Studio For Office Tools:VSTO使用 Visual Studio 2005 Tools for Office (VSTO)开发C# Excel 程序 读取文件头信息做判定,看是否是Excel的头定义 我想最合理的方式是这样的,但是,不知如何读取,不是求代码,只是没接触过,没有头绪,直接read么 可参考http://space.itpub.net/12639172/viewspace-536508 真正判断文件类型的关键函数 public static bool IsAllowedExtension2(FileUpload hifile) { if (hifile != null) { System.IO.FileStream fs = new System.IO.FileStream(hifile.PostedFile.FileName, System.IO.FileMode.Open, System.IO.FileAccess.Read); System.IO.BinaryReader r = new System.IO.BinaryReader(fs); string fileclass = ""; byte buffer; try { buffer = r.ReadByte(); fileclass = buffer.ToString(); buffer = r.ReadByte(); fileclass += buffer.ToString(); } catch { } r.Close(); fs.Close(); if (fileclass == "255216" || fileclass == "7173")//说明255216是jpg;7173是gif;6677是BMP,13780是PNG;7790是exe,8297是rar { return true; } else { return false; } } else { return false; } } 直接判断後輟名不就行了麼?看看是不是xls文件。 通过文件头判断http://topic.csdn.net/u/20100201/15/88f18491-3b94-46a5-9d9f-2b8995b7175c.html 微软公布了Office文件的格式了参考那个即可Excel97-2007BinaryFileFormat(xls)Specification.pdf同时还需要参考Word97-2007BinaryFileFormat(doc)Specification.pdf 如何判断一个文件是否为WORD文件? 别说判断扩展名啊。如何判断一个文件是否为文本文件? 别说判断扩展名啊。如何判断一个文件是否为图形文件? 别说判断扩展名啊。如何判断一个文件是可执行文件? 别说判断扩展名啊。 后一个名字写错了,是WindowsCompoundBinaryFileFormatSpecification.pdf 如何判断一个文件是否是PDF文件? 别说判断扩展名啊。 同样,貌似无法区分excel和word 随便弄个文件改下扩展名,你就认为是excel了?怎么这么能用这么肤浅的验证? 遍历DataTable之后的问题. 【求助】C# 读取网页表格内容,网页上的表格行数不确定 窗体和控件如何适应不同分辨率 C#什么时候可用于3G手机编程 c#的menuStrip如何改变鼠标指针样式? 关于数据库的安全的问题 各位高手,在此恭候多时了? 打印问题 如何让mdi子窗体不能越过父窗体边界? 如何生成如:ASP.NET Commerce (CSVS) Installer v0.5.msi安装包。 求助: 一段文本的解析,Unicode, UTF8 or...? 本人是C# 的初学者,如何学好它?老师们,请介绍两本好书吧
使用 Visual Studio 2005 Tools for Office (VSTO)开发C# Excel 程序
http://space.itpub.net/12639172/viewspace-536508
public static bool IsAllowedExtension2(FileUpload hifile)
{
if (hifile != null)
{
System.IO.FileStream fs = new System.IO.FileStream(hifile.PostedFile.FileName, System.IO.FileMode.Open, System.IO.FileAccess.Read);
System.IO.BinaryReader r = new System.IO.BinaryReader(fs);
string fileclass = "";
byte buffer;
try
{
buffer = r.ReadByte();
fileclass = buffer.ToString();
buffer = r.ReadByte();
fileclass += buffer.ToString(); }
catch
{ }
r.Close();
fs.Close();
if (fileclass == "255216" || fileclass == "7173")//说明255216是jpg;7173是gif;6677是BMP,13780是PNG;7790是exe,8297是rar
{
return true;
}
else
{
return false;
}
}
else { return false; } }
看看是不是xls文件。
http://topic.csdn.net/u/20100201/15/88f18491-3b94-46a5-9d9f-2b8995b7175c.html
参考那个即可
Excel97-2007BinaryFileFormat(xls)Specification.pdf
同时还需要参考Word97-2007BinaryFileFormat(doc)Specification.pdf
WindowsCompoundBinaryFileFormatSpecification.pdf