【问题标题】:C# Convert MS Excel column to utf-8 and then to base64C# 将 MS Excel 列转换为 utf-8,然后再转换为 base64
【发布时间】:2012-11-19 05:45:05
【问题描述】:

我有一种情况,我必须将 excel 单列转换为 utf-8,然后再转换为 base64。
我已经阅读了几篇建议如何读取 excel 文件的帖子。

Reading Excel files from C#
但我不确定在我的情况下哪个是最好的方法。
我有 2MB 的大文件。
请给我建议。

【问题讨论】:

    标签: excel c#-4.0 ado.net


    【解决方案1】:

    我得到了解决方案

    using System;
    using System.Drawing;
    using System.Windows.Forms;
    using Excel = Microsoft.Office.Interop.Excel; 
    
    namespace WindowsApplication1
    {
     public partial class Form1 : Form
     {
        public Form1()
        {
            InitializeComponent();
        }
    
        private void button1_Click(object sender, EventArgs e)
        {
             bgw.RunWorkerAsync();
            var myConnection = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source='c:\\Language_Batch1_OneClick.xls';Extended Properties=Excel 8.0;"); ;
            var myCommand = new OleDbCommand();
            var upCommand = new OleDbCommand();
            int i = 0;
            try
            {
    
                string sql = null;
                myConnection.Open();
                myCommand.Connection = myConnection;
                sql = "select ANSWER_CODE,Punjabi from [Batch_Lang_1$]";
                myCommand.CommandText = sql;
                var dataReader = myCommand.ExecuteReader();
    
                while (dataReader.Read())
                {
                    var langText = Convert.ToBase64String(Encoding.UTF8.GetBytes(dataReader["Punjabi"].ToString()));
                    if (langText.Length >= 1000)
                    {
                        continue;
                    }
                    var ansCode = dataReader["ANSWER_CODE"].ToString();
                    sql = "update [Batch_Lang_1$] set Punjabi= '" + langText + "'  where ANSWER_CODE='" + ansCode + "'";
                    upCommand.Connection = myConnection;
                    upCommand.CommandText = sql;
                    upCommand.ExecuteNonQuery();
                    i++;
                }
        }
     }
    }
    

    【讨论】:

    • 但这与 utf8 和 base64 有什么关系?
    • 我仍在努力,但我有一个想法。我已经更新了我的答案看看。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-15
    • 2012-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多