1 首先要使用shell32 请在项目引用中添加shell32.dll 的引用 (备注:该引用是系统dll文件 在C:\Windows\System32 目录下 可以自行拷贝到项目中)
private void btnTest_Click(object sender, EventArgs e) //测试的按钮点击事件
{
//测试,将excel中的student导入到sqlserver的DB_MES中,如果sql中的数据表不存在则创建
System.Windows.Forms.OpenFileDialog fd = new OpenFileDialog(); // new 一个打开文件对话框用于选择文件
if (fd.ShowDialog() == DialogResult.OK)
{
string filePath = fd.FileName;
//实例化一个shell 对象
Shell32.Shell shell = new Shell32.ShellClass();
//获取文件所在父目录对象
Folder folder = shell.NameSpace(filePath.Substring(0, filePath.LastIndexOf('\\')));
//获取文件对应的FolderItem对象
FolderItem item = folder.ParseName(filePath.Substring(filePath.LastIndexOf('\\') + 1));
//字典存放属性名和属性值的键值关系对
Dictionary<string, string> Properties = new Dictionary<string, string>();
int i = 0;
while (true)
{
//获取属性名称
string key = folder.GetDetailsOf(null, i);
if (string.IsNullOrEmpty(key))
{
//当无属性可取时,推出循环
break;
}
//获取属性值
string value = folder.GetDetailsOf(item, i);
//保存属性
Properties.Add(key, value);
this.richTextBox1.Text += i.ToString() + key + ":" + value + '\n'; // 窗体界面上创建的richTextBox 控件上显示所有的属性值
i++;
}
}
//------我的开的文件名是1.xls---------实际运行效果如下------根据运行结果可以查看我们需要的信息对应的索引
0名称:1.xls
1大小:16.0 KB
2项目类型:Microsoft Office Excel 97-2003 工作表
3修改日期:2017/12/22 11:35
4创建日期:2017/12/22 10:38
5访问日期:2017/12/22 11:35
6属性:A
7脱机状态:
8脱机可用性:
9假设的类型:文档
10所有者:USER-20170822CM\Administrator
11种类:文档
12拍摄日期:
13参与创作的艺术家:
14唱片集:
15年:
16流派:
17指挥者:
18标记:
19分级:未分级
20作者:Administrator
21标题:
22主题:
23类别:
24备注:
25版权:
26#:
27长度:
28比特率:
29保护:
30照相机型号:
31尺寸:
32照相机制造商:
33公司:
34文件说明:
35程序名称:
36持续时间:
37联机:
38重复:
39位置:
40可选参加者地址:
41可选的与会者:
42组织者地址:
43组织者名称:
44提醒时间:
45必选的与会者地址:
46必