读取Excel二进制写入DB,并从DB中读取生成Excel文件

namespace SendMailSMSService
{
    class Program
    {
        static void Main(string[] args)
        {
            var connString = SqlDataHelper.GetConnectionString<FileContent>();
            //读取Excle文件并写入表中
            var bytes = File.ReadAllBytes("a.xlsx");

            var entity = new FileContent
            {
                FileContentID = Guid.NewGuid(),
                Content = bytes
            };
            var count = entity.InsertToSql(connString);
            //从表中读取二进制并生成Excel文件
            var query = entity;
            var newEntity = entity.Query(connString, _ => _.FileContentID).FirstOrDefault();
            var newBytes = newEntity.Content;

            var fs = File.Create("b.xlsx");
            fs.Write(newBytes, 0, newBytes.Length);
            fs.Flush();
            fs.Close();
            fs.Dispose();
        }
    }

    [DB("FileDB")]
    [Table("Portal.FileContent")]
    public class FileContent
    {
        [Key]
        [DataMapping]
        [SqlDataType(System.Data.SqlDbType.UniqueIdentifier)]
        public Guid FileContentID { get; set; }
        [DataMapping("FileContent")]
        [SqlDataType(System.Data.SqlDbType.VarBinary)]
        public byte[] Content { get; set; }
    }
}

 

posted on 2018-11-28 13:33  itjeff  阅读(813)  评论(0编辑  收藏  举报

导航