/// <summary>
/// 汉字转换拼音
/// </summary>
/// <param name="PinYin"></param>
///
/// <returns></returns>
public string PinYin(string TextFF)
{
if (TextFF != "")
{
string Text = TextFF;
string TTT = "";
Regex reg = new Regex("[\u4e00-\u9fa5]+");
foreach (Match v in reg.Matches(Text))
{
TTT += v.ToString();
}
return TTT;
}
else
{
return "";
}
}
/// <summary>
/// 拼音转首字母
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public string GetFirstPinyin(string str)
{
string r = string.Empty;
foreach (char obj in str)
{
try
{
ChineseChar chineseChar = new ChineseChar(obj);
string t = chineseChar.Pinyins[0].ToString();
r += t.Substring(0, 1);
}
catch
{
r += obj.ToString();
}
}
return r;
}
/// <summary>
/// 汉字转拼音首字母
/// </summary>
/// <param name="HanZi"></param>
/// <returns></returns>
public string HanZiZHuanFist(string HanZi)
{
string str = PinYin(HanZi);
string r = string.Empty;
foreach (char obj in str)
{
try
{
ChineseChar chineseChar = new ChineseChar(obj);
string t = chineseChar.Pinyins[0].ToString();
r += t.Substring(0, 1);
}
catch
{
r += obj.ToString();
}
}
return r;
}
/// <summary>
/// 路径
/// </summary>
/// <param name="ST"></param>
/// <returns></returns>
public System.Data.DataTable TableSS(string ST)
{
string strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + ST + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1'";
OleDbConnection myConn = new OleDbConnection(strCon);
string strCom = " SELECT * FROM [Sheet1$] ";
myConn.Open();
OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn);
DataSet myDataSet = new DataSet();
myCommand.Fill(myDataSet, "[Sheet1$]");
myConn.Close();
return myDataSet.Tables[0];
}
/// <summary>
/// 导出Excel
/// </summary>
/// <param name="mydgv"></param>
public void Excel导出(DataGridView mydgv)
{
if (mydgv.Rows.Count == 0)
{
MessageBox.Show(" 没有数据可供导出!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
else
{
SaveFileDialog savedialog = new SaveFileDialog();
savedialog.DefaultExt = "xlsx";
savedialog.Filter = "microsoft office execl files (*.xlsx)|*.xlsx";
savedialog.FilterIndex = 0;
savedialog.RestoreDirectory = true;
savedialog.Title = "导出数据到excel表格";
savedialog.ShowDialog();
if (savedialog.FileName.IndexOf(":") < 0) return; //被点了取消
//Microsoft.office.interop.excel.application xlapp = new microsoft.office.interop.excel.application();
Microsoft.Office.Interop.Excel.Application xlapp = new Microsoft.Office.Interop.Excel.Application();
if (xlapp == null)
{
MessageBox.Show("可能您的机子未安装excel,无法创建excel对象!", "系统提示 ", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
Microsoft.Office.Interop.Excel.Workbooks workbooks = xlapp.Workbooks;
Microsoft.Office.Interop.Excel.Workbook workbook = workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);
Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];//取得sheet1
//定义表格内数据的行数和列数
int rowscount = mydgv.Rows.Count;
int colscount = mydgv.Columns.Count;
//行数不可以大于65536
if (rowscount > 65536)
{
MessageBox.Show("数据行记录超过65536行,不能保存!", "系统提示 ", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
//列数不可以大于255
if (colscount > 256)
{
MessageBox.Show("数据列记录超过256列,不能保存!", "系统提示 ", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
//写入大标题
string ADD = "卫材基础信息 时间:" + DateTime.Now.ToShortDateString();
for (int i = 0; i < mydgv.ColumnCount; i++)
{
worksheet.Cells[1, i + 1] = mydgv.Columns[i].HeaderText;
}
//写入数值
for (int r = 0; r < mydgv.Rows.Count - 1; r++)
{
for (int i = 0; i < mydgv.ColumnCount; i++)
{
if (mydgv[i, r].ValueType == typeof(string))
{
worksheet.Cells[r + 2, i + 1] = " " + mydgv.Rows[r].Cells[i].Value.ToString().Replace(" ", ""); ;//将长数值转换成文本
}
else
{
worksheet.Cells[r + 2, i + 1] = " " + mydgv.Rows[r].Cells[i].Value.ToString().Replace(" ", ""); ;
}
}
System.Windows.Forms.Application.DoEvents();
}
worksheet.Columns.EntireColumn.AutoFit();//列宽自适应
if (savedialog.FileName != "")
{
try
{
workbook.Saved = true;
workbook.SaveCopyAs(savedialog.FileName);
}
catch (Exception ex)
{
MessageBox.Show("导出文件时出错,文件可能正被打开!..." + ex.Message, "系统提示 ", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
//GC.Collect();//强行销毁
MessageBox.Show("数据导出成功! ", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
/// <summary>
/// 价格转汉字
/// </summary>
/// <param name="money"></param>
/// <returns></returns>
public static string JiaGeGetHanZi(decimal money)
{
string[] strArray;
string str = "";
string str2 = "";
string str3 = money.ToString("0.00");
switch (str3.Trim().Length)
{
case 4:
strArray = new string[] { str3[0].ToString(), "y", str3[2].ToString(), "j", str3[3].ToString(), "f" };
str = string.Concat(strArray);
break;
case 5:
strArray = new string[] { str3[0].ToString(), "s", str3[1].ToString(), "y", str3[3].ToString(), "j", str3[4].ToString(), "f" };
str = string.Concat(strArray);
break;
case 6:
strArray = new string[] { str3[0].ToString(), "b", str3[1].ToString(), "s", str3[2].ToString(), "y", str3[4].ToString(), "j", str3[5].ToString(), "f" };
str = string.Concat(strArray);
break;
case 7:
strArray = new string[] { str3[0].ToString(), "q", str3[1].ToString(), "b", str3[2].ToString(), "s", str3[3].ToString(), "y", str3[5].ToString(), "j", str3[6].ToString(), "f" };
str = string.Concat(strArray);
break;
case 8:
strArray = new string[] { str3[0].ToString(), "w", str3[1].ToString(), "q", str3[2].ToString(), "b", str3[3].ToString(), "s", str3[4].ToString(), "y", str3[6].ToString(), "j", str3[7].ToString(), "f" };
str = string.Concat(strArray);
break;
case 9:
strArray = new string[] { str3[0].ToString(), "s", str3[1].ToString(), "w", str3[2].ToString(), "q", str3[3].ToString(), "b", str3[4].ToString(), "s", str3[5].ToString(), "y", str3[7].ToString(), "j", str3[8].ToString(), "f" };
str = string.Concat(strArray);
break;
case 10:
strArray = new string[] {
str3[0].ToString(), "b", str3[1].ToString(), "s", str3[2].ToString(), "w", str3[3].ToString(), "q", str3[4].ToString(), "b", str3[5].ToString(), "s", str3[6].ToString(), "y", str3[8].ToString(), "j",
str3[9].ToString(), "f"
};
str = string.Concat(strArray);
break;
case 11:
strArray = new string[] {
str3[0].ToString(), "q", str3[1].ToString(), "b", str3[2].ToString(), "s", str3[3].ToString(), "w", str3[4].ToString(), "q", str3[5].ToString(), "b", str3[6].ToString(), "s", str3[7].ToString(), "y",
str3[9].ToString(), "j", str3[10].ToString(), "f"
};
str = string.Concat(strArray);
break;
case 12:
strArray = new string[] {
str3[0].ToString(), "m", str3[1].ToString(), "q", str3[2].ToString(), "b", str3[3].ToString(), "s", str3[4].ToString(), "w", str3[5].ToString(), "q", str3[6].ToString(), "b", str3[7].ToString(), "s",
str3[8].ToString(), "y", str3[10].ToString(), "j", str3[11].ToString(), "f"
};
str = string.Concat(strArray);
break;
}
for (int i = 0; i < str.Trim().Length; i++)
{
switch (str[i])
{
case '0':
str2 = str2 + "零";
break;
case '1':
str2 = str2 + "壹";
break;
case '2':
str2 = str2 + "贰";
break;
case '3':
str2 = str2 + "叁";
break;
case '4':
str2 = str2 + "肆";
break;
case '5':
str2 = str2 + "伍";
break;
case '6':
str2 = str2 + "陆";
break;
case '7':
str2 = str2 + "柒";
break;
case '8':
str2 = str2 + "捌";
break;
case '9':
str2 = str2 + "玖";
break;
case 'b':
str2 = str2 + "佰";
break;
case 'f':
str2 = str2 + "分";
break;
case 'j':
str2 = str2 + "角";
break;
case 'm':
str2 = str2 + "亿";
break;
case 'q':
str2 = str2 + "仟";
break;
case 's':
str2 = str2 + "拾";
break;
case 'w':
str2 = str2 + "万";
break;
case 'y':
str2 = str2 + "元";
break;
}
}
return str2;
}