创建WPF项目:在Visual Studio中创建一个新的WPF项目,命名为“ContactImporter”。
设计界面:在MainWindow.xaml中设计上述界面,代码如下:
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="通讯录导入工具" Height="300" Width="400">
private void ImportContacts_Click(object sender, RoutedEventArgs e)
{
Microsoft.Win32.OpenFileDialog openFileDialog = new Microsoft.Win32.OpenFileDialog();
openFileDialog.Filter = "Excel文件(*.xlsx)|*.xlsx";
if (openFileDialog.ShowDialog() == true)
{
string filePath = openFileDialog.FileName;
// 调用导入方法
ImportContactsFromExcel(filePath);
}
} 导入Excel文件并转换为VCF文件:
使用EPPlus库读取Excel文件。安装EPPlus库:在NuGet包管理器中搜索并安装“EPPlus”。
将读取到的号码和姓名转换为VCF格式。VCF格式示例:
复制
BEGIN:VCARD
VERSION:2.1
N:姓名1;;
TEL;CELL:手机号码1
END:VCARD
BEGIN:VCARD
VERSION:2.1
N:姓名2;;
TEL;CELL:手机号码2
END:VCARD 代码示例:
public void ImportContactsFromExcel(string filePath)
{
using (var package = new ExcelPackage(new FileInfo(filePath)))
{
var worksheet = package.Workbook.Worksheets[0];
int rowCount = worksheet.Dimension.Rows;
List
for (int row = 2; row <= rowCount; row++) // 假设第一行是标题行
{
string name = worksheet.Cells[row, 1].Value?.ToString();
string phoneNumber = worksheet.Cells[row, 2].Value?.ToString();
if (!string.IsNullOrEmpty(phoneNumber))
{
vcfContent.Add($"BEGIN:VCARD");
vcfContent.Add($"VERSION:2.1");
vcfContent.Add($"N:{name};;");
vcfContent.Add($"TEL;CELL:{phoneNumber}");
vcfContent.Add($"END:VCARD");
}
}
// 保存VCF文件
string vcfFilePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "contacts.vcf");
File.WriteAllLines(vcfFilePath, vcfContent);
txtMessage.Text = $"VCF文件已生成:{vcfFilePath}";
}
} 将VCF文件导入手机通讯录 安卓手机: 苹果手机: