0

ソリューションで FileSaver を使用して Excel にエクスポートできます。ここに私の情報源:

tapuController.cs:

   [Route("Tapu/tcKimlikNoIleToEcel")]
    public void tcKimlikNoIleToEcel(string tcKimlikNo)
    {

        List<TapuZeminModel> zeminler = new List<TapuZeminModel>();
        zeminler = TapuModule.GetZeminListFromTcNo(tcKimlikNo);
        List<TapuZeminViewModel> zeminList = new List<TapuZeminViewModel>();

        foreach (var zemin in zeminler)
        {
            foreach (var hisse in zemin.Hisseler)
            {
                TapuZeminViewModel ze = new TapuZeminViewModel();
                ze.Ad = hisse.Kisi.Ad;
                ze.AdaNo = zemin.AdaNo;
                if (zemin.KatMulkiyeti != null)
                {
                    ze.ArsaPay = zemin.KatMulkiyeti.ArsaPay;
                    ze.ArsaPayda = zemin.KatMulkiyeti.ArsaPayda;
                    ze.BagimsizBolumNo = zemin.KatMulkiyeti.BagimsizBolumNo;
                    ze.Blok = zemin.KatMulkiyeti.Blok;
                    ze.Giris = zemin.KatMulkiyeti.Giris;
                }
                ze.Cilt = zemin.CiltNo;
                ze.EdinmeSebep = hisse.EdinmeSebep;
                ze.HisseId = hisse.TapuKod;
                ze.HissePay = hisse.HissePay;
                ze.HissePayda = hisse.HissePayda;
                ze.Il = zemin.Il.Ad;
                ze.Ilce = zemin.Ilce.Ad;
                ze.KisiId = hisse.Kisi.TapuKod;
                ze.ParselNo = zemin.ParselNo;
                ze.Sayfa = zemin.SayfaNo;
                ze.Kurum = zemin.Kurum.Ad;
                ze.ZeminId = zemin.TapuKod;
                ze.ZeminTip = zemin.ZeminTip.Ad;
                ze.Mahalle = zemin.Mahalle.Ad;
                ze.Nitelik = zemin.AnaTasinmaz.Nitelik;
                ze.Mevkii = zemin.AnaTasinmaz.Mevkii;
                if (hisse.Kisi.GercekKisi != null)
                {
                    ze.SoyAd = hisse.Kisi.GercekKisi.SoyAd;
                    ze.TcKimlikNo = hisse.Kisi.GercekKisi.TcKimlikNo;
                }
                if (hisse.Kisi.TuzelKisi != null)
                {
                    ze.TuzelKisiAd = hisse.Kisi.TuzelKisi.Ad;
                    ze.VergiNo = hisse.Kisi.TuzelKisi.VergiNo;
                    ze.SicilNo = hisse.Kisi.TuzelKisi.SicilNo;
                }

                zeminList.Add(ze);
            }
        }


        StringBuilder dosyaAdi = new StringBuilder();
        dosyaAdi.Append(DateTime.Now.ToString("dd.MM.yyyy HH.mm"));
        dosyaAdi.Append("-" + tcKimlikNo);
        dosyaAdi.Append(".xls");

        GridView gv = new GridView();
        gv.DataSource = zeminList;
        gv.DataBind();
        Response.ClearContent();
        Response.Buffer = true;
        Response.AddHeader("content-disposition", "attachment; filename=" + dosyaAdi.ToString());
        Response.ContentType = "application/ms-excel=utf-8";
        Response.ContentEncoding = System.Text.Encoding.Unicode;
        Response.BinaryWrite(System.Text.Encoding.Unicode.GetPreamble());
        StringWriter sw = new StringWriter();
        HtmlTextWriter htw = new HtmlTextWriter(sw);
        gv.RenderControl(htw);
        Response.Output.Write(sw.ToString());
        Response.Flush();
        Response.End();

    }

tapuControllerService.js:

angular.module('TapuAppModule')
.factory('TapuControllerService', function TapuIlApiFactory($http) {
    return {
        adaParselSorguToExcel: function (zeminArg) {
            return $http({ method: "GET", url: "Tapu/ExportToExcel", params: { ada: zeminArg.Ada, ilceId: zeminArg.IlceId, mahId: zeminArg.MahalleId, parsel: zeminArg.Parsel } });
        },
        tcKimlikNoIleToEcel: function (manuelTcKimlikNo) {
            return $http({ method: "GET", url: "Tapu/tcKimlikNoIleToEcel", params: { tcKimlikNo: manuelTcKimlikNo } });
        },
        kurumIdIleToEcel: function (manuelKurumId) {
            return $http({ method: "GET", url: "Tapu/kurumIdIleToEcel", params: { kurumId: manuelKurumId } });
        }
    }
});

tapuController.js:

 $scope.exportToExcel = function () {
        $scope.ZeminArg = {
            Ada: $scope.selectedAdaNo,
            Parsel: $scope.selectedParselNo,
            MahalleId: $scope.selectedMahalle,
            IlceId: $scope.selectedIlce
        };

        if (document.getElementById('adaparsel').className == "tab-pane fade active in") {
            var fileName = "MahalleId-" + $scope.ZeminArg.MahalleId + "_IlceId-" + $scope.ZeminArg.IlceId + "_AdaNo-" + $scope.ZeminArg.Ada + "_ParselNo-" + $scope.ZeminArg.Parsel;
            TapuControllerService.adaParselSorguToExcel($scope.ZeminArg)
            .success(function (data) {
                var blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=iso-8859-9', encoding: 'Windows-1254' });
                saveAs(blob, datetime + '-' + fileName + '.xls');
            }).error(function () {
                //Some error log
            });
        }

        if (document.getElementById("tckimlikno").className == "tab-pane fade active in") {
            var fileName = "TcNo-" + $scope.manuelTcKimlikNo;
            TapuControllerService.tcKimlikNoIleToEcel($scope.manuelTcKimlikNo)
            .success(function (data) {
                var blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=iso-8859-9', encoding: 'Windows-1254' });
                saveAs(blob, datetime + '-' + fileName + '.xls');
            }).error(function () {
                //Some error log
            });
        }

        if (document.getElementById("kurum").className == "tab-pane fade active in") {
            var fileName = "kurum-" + $scope.manuelKurumId;
            TapuControllerService.kurumIdIleToEcel($scope.manuelKurumId)
            .success(function (data) {
                var blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=iso-8859-9', encoding: 'Windows-1254' });
                saveAs(blob, datetime + '-' + fileName + '.xls');
            }).error(function () {
                //Some error log
            });
        }

    };

そして、私はFileSaverを使用しています。こちらのファイルセーバーのURLで問題ありません 。それは働いています。しかし、トルコ文字は使用できません。いくつかのエンコードを試しましたが、うまくいきませんでした。ここに私のエラーの写真があります:

ここに画像の説明を入力

たとえば、最初の SoyAd は : FERİKOĞLU 2 番目の行の Ad は : ALATTİN です。

など トルコ文字を含む Excel を出力するにはどうすればよいですか??

4

0 に答える 0